diff options
author | Cayman Nava <caymannava@gmail.com> | 2014-09-10 12:35:53 +0800 |
---|---|---|
committer | Cayman Nava <caymannava@gmail.com> | 2014-09-10 12:35:53 +0800 |
commit | 8ac1b85a0b9dc9e25764aecfbb2571037965b450 (patch) | |
tree | 1acd26d6fe7b8fc9186aaba7c4451de0670105f3 /ethpipe | |
parent | 29499900160cc2ee88968b74035f0a5c2d4c5af6 (diff) | |
parent | 7dacd7eb7818a336b3be99aea834093cf40a1b08 (diff) | |
download | go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.tar go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.tar.gz go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.tar.bz2 go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.tar.lz go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.tar.xz go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.tar.zst go-tangerine-8ac1b85a0b9dc9e25764aecfbb2571037965b450.zip |
Merge branch 'feature-pushtx' into develop
Diffstat (limited to 'ethpipe')
-rw-r--r-- | ethpipe/js_pipe.go | 6 | ||||
-rw-r--r-- | ethpipe/pipe.go | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/ethpipe/js_pipe.go b/ethpipe/js_pipe.go index eeece5179..47cac2ca2 100644 --- a/ethpipe/js_pipe.go +++ b/ethpipe/js_pipe.go @@ -225,6 +225,12 @@ func (self *JSPipe) Transact(key, toStr, valueStr, gasStr, gasPriceStr, codeStr return NewJSReciept(contractCreation, tx.CreationAddress(), tx.Hash(), keyPair.Address()), nil } +func (self *JSPipe) PushTx(txStr string) (*JSReceipt, error) { + tx := ethchain.NewTransactionFromBytes(ethutil.Hex2Bytes(txStr)) + self.obj.TxPool().QueueTransaction(tx) + return NewJSReciept(tx.CreatesContract(), tx.CreationAddress(), tx.Hash(), tx.Sender()), nil +} + func (self *JSPipe) CompileMutan(code string) string { data, err := self.Pipe.CompileMutan(code) if err != nil { diff --git a/ethpipe/pipe.go b/ethpipe/pipe.go index 800a71139..b7d3be041 100644 --- a/ethpipe/pipe.go +++ b/ethpipe/pipe.go @@ -149,6 +149,15 @@ func (self *Pipe) Transact(key *ethcrypto.KeyPair, rec []byte, value, gas, price return tx.Hash(), nil } +func (self *Pipe) PushTx(tx *ethchain.Transaction) ([]byte, error) { + self.obj.TxPool().QueueTransaction(tx) + if tx.Recipient == nil { + logger.Infof("Contract addr %x", tx.CreationAddress()) + return tx.CreationAddress(), nil + } + return tx.Hash(), nil +} + func (self *Pipe) CompileMutan(code string) ([]byte, error) { data, err := ethutil.Compile(code, false) if err != nil { |