diff options
author | obscuren <geffobscura@gmail.com> | 2014-05-10 08:03:22 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-05-10 08:03:22 +0800 |
commit | b0023f66b06fe1248168420a9526a64c3e09cd75 (patch) | |
tree | 6219b965a791c537abd86110da067d76938170a9 /ethereal/ui/library.go | |
parent | a77dcd10414e94fbd255931b0a539bbfefd91f56 (diff) | |
parent | 109395daaaac5882fcefac7577d464051c11a841 (diff) | |
download | dexon-b0023f66b06fe1248168420a9526a64c3e09cd75.tar.gz dexon-b0023f66b06fe1248168420a9526a64c3e09cd75.tar.zst dexon-b0023f66b06fe1248168420a9526a64c3e09cd75.zip |
Merge branch 'release/poc5-rc2'
Diffstat (limited to 'ethereal/ui/library.go')
-rw-r--r-- | ethereal/ui/library.go | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/ethereal/ui/library.go b/ethereal/ui/library.go index 1328cd6b7..c889efb45 100644 --- a/ethereal/ui/library.go +++ b/ethereal/ui/library.go @@ -1,10 +1,8 @@ package ethui import ( - "encoding/hex" "fmt" "github.com/ethereum/eth-go/ethchain" - "github.com/ethereum/eth-go/ethpub" "github.com/ethereum/eth-go/ethutil" "github.com/ethereum/go-ethereum/utils" "github.com/obscuren/secp256k1-go" @@ -43,86 +41,3 @@ func (lib *EthLib) CreateAndSetPrivKey() (string, string, string, string) { mnemonicString := strings.Join(mne, " ") return mnemonicString, fmt.Sprintf("%x", pair.Address()), fmt.Sprintf("%x", prv), fmt.Sprintf("%x", pub) } - -func (lib *EthLib) GetKey() string { - return ethutil.Hex(ethutil.Config.Db.GetKeys()[0].Address()) -} - -func (lib *EthLib) GetStateObject(address string) *ethpub.PStateObject { - stateObject := lib.stateManager.ProcState().GetContract(ethutil.FromHex(address)) - if stateObject != nil { - return ethpub.NewPStateObject(stateObject) - } - - // See GetStorage for explanation on "nil" - return ethpub.NewPStateObject(nil) -} - -func (lib *EthLib) Watch(addr, storageAddr string) { - // lib.stateManager.Watch(ethutil.FromHex(addr), ethutil.FromHex(storageAddr)) -} - -func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, dataStr string) (string, error) { - return lib.Transact(recipient, valueStr, gasStr, gasPriceStr, dataStr) -} - -func (lib *EthLib) Transact(recipient, valueStr, gasStr, gasPriceStr, dataStr string) (string, error) { - var hash []byte - var contractCreation bool - if len(recipient) == 0 { - contractCreation = true - } else { - var err error - hash, err = hex.DecodeString(recipient) - if err != nil { - return "", err - } - } - - keyPair := ethutil.Config.Db.GetKeys()[0] - value := ethutil.Big(valueStr) - gas := ethutil.Big(gasStr) - gasPrice := ethutil.Big(gasPriceStr) - var tx *ethchain.Transaction - // Compile and assemble the given data - if contractCreation { - // Compile script - mainScript, initScript, err := utils.CompileScript(dataStr) - if err != nil { - return "", err - } - - tx = ethchain.NewContractCreationTx(value, gas, gasPrice, mainScript, initScript) - } else { - lines := strings.Split(dataStr, "\n") - var data []byte - for _, line := range lines { - data = append(data, ethutil.BigToBytes(ethutil.Big(line), 256)...) - } - - tx = ethchain.NewTransactionMessage(hash, value, gas, gasPrice, data) - } - acc := lib.stateManager.GetAddrState(keyPair.Address()) - tx.Nonce = acc.Nonce - tx.Sign(keyPair.PrivateKey) - lib.txPool.QueueTransaction(tx) - - if contractCreation { - ethutil.Config.Log.Infof("Contract addr %x", tx.Hash()[12:]) - } else { - ethutil.Config.Log.Infof("Tx hash %x", tx.Hash()) - } - - return ethutil.Hex(tx.Hash()), nil -} - -func (lib *EthLib) GetBlock(hexHash string) *ethpub.PBlock { - hash, err := hex.DecodeString(hexHash) - if err != nil { - return nil - } - - block := lib.blockChain.GetBlock(hash) - - return ðpub.PBlock{Number: int(block.BlockInfo().Number), Hash: ethutil.Hex(block.Hash())} -} |