diff options
Diffstat (limited to 'mobile')
-rw-r--r-- | mobile/accounts.go | 6 | ||||
-rw-r--r-- | mobile/android_test.go | 2 | ||||
-rw-r--r-- | mobile/bind.go | 29 | ||||
-rw-r--r-- | mobile/ethclient.go | 5 | ||||
-rw-r--r-- | mobile/p2p.go | 2 | ||||
-rw-r--r-- | mobile/params.go | 4 | ||||
-rw-r--r-- | mobile/vm.go | 6 |
7 files changed, 17 insertions, 37 deletions
diff --git a/mobile/accounts.go b/mobile/accounts.go index 90f664d29..47c3a5c21 100644 --- a/mobile/accounts.go +++ b/mobile/accounts.go @@ -115,10 +115,10 @@ func (am *AccountManager) Sign(address *Address, hash []byte) (signature []byte, return am.manager.Sign(address.address, hash) } -// SignWithPassphrase signs hash if the private key matching the given address -// can be decrypted with the given passphrase. The produced signature is in the +// SignPassphrase signs hash if the private key matching the given address can +// be decrypted with the given passphrase. The produced signature is in the // [R || S || V] format where V is 0 or 1. -func (am *AccountManager) SignWithPassphrase(account *Account, passphrase string, hash []byte) (signature []byte, _ error) { +func (am *AccountManager) SignPassphrase(account *Account, passphrase string, hash []byte) (signature []byte, _ error) { return am.manager.SignWithPassphrase(account.account, passphrase, hash) } diff --git a/mobile/android_test.go b/mobile/android_test.go index 9e38c1986..3776f8291 100644 --- a/mobile/android_test.go +++ b/mobile/android_test.go @@ -69,7 +69,7 @@ public class AndroidTest extends InstrumentationTestCase { Hash txHash = new Hash("0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"); // Sign a transaction with a single authorization - byte[] signature = am.signWithPassphrase(signer, "Signer password", txHash.getBytes()); + byte[] signature = am.signPassphrase(signer, "Signer password", txHash.getBytes()); // Sign a transaction with multiple manually cancelled authorizations am.unlock(signer, "Signer password"); diff --git a/mobile/bind.go b/mobile/bind.go index a25c37aca..bc4eb25ba 100644 --- a/mobile/bind.go +++ b/mobile/bind.go @@ -114,17 +114,12 @@ type BoundContract struct { // DeployContract deploys a contract onto the Ethereum blockchain and binds the // deployment address with a wrapper. func DeployContract(opts *TransactOpts, abiJSON string, bytecode []byte, client *EthereumClient, args *Interfaces) (contract *BoundContract, _ error) { - // Convert all the deployment parameters to Go types - params := make([]interface{}, len(args.objects)) - for i, obj := range args.objects { - params[i] = obj - } // Deploy the contract to the network parsed, err := abi.JSON(strings.NewReader(abiJSON)) if err != nil { return nil, err } - addr, tx, bound, err := bind.DeployContract(&opts.opts, parsed, bytecode, client.client, params...) + addr, tx, bound, err := bind.DeployContract(&opts.opts, parsed, bytecode, client.client, args.objects...) if err != nil { return nil, err } @@ -159,32 +154,18 @@ func (c *BoundContract) GetDeployer() *Transaction { // Call invokes the (constant) contract method with params as input values and // sets the output to result. func (c *BoundContract) Call(opts *CallOpts, out *Interfaces, method string, args *Interfaces) error { - // Convert all the input and output parameters to Go types - params := make([]interface{}, len(args.objects)) - for i, obj := range args.objects { - params[i] = obj - } results := make([]interface{}, len(out.objects)) - for i, obj := range out.objects { - results[i] = obj - } - // Execute the call to the contract and wrap any results - if err := c.contract.Call(&opts.opts, &results, method, params...); err != nil { + copy(results, out.objects) + if err := c.contract.Call(&opts.opts, &results, method, args.objects...); err != nil { return err } - for i, res := range results { - out.objects[i] = res - } + copy(out.objects, results) return nil } // Transact invokes the (paid) contract method with params as input values. func (c *BoundContract) Transact(opts *TransactOpts, method string, args *Interfaces) (tx *Transaction, _ error) { - params := make([]interface{}, len(args.objects)) - for i, obj := range args.objects { - params[i] = obj - } - rawTx, err := c.contract.Transact(&opts.opts, method, params) + rawTx, err := c.contract.Transact(&opts.opts, method, args.objects) if err != nil { return nil, err } diff --git a/mobile/ethclient.go b/mobile/ethclient.go index 36a15aa47..4e8328501 100644 --- a/mobile/ethclient.go +++ b/mobile/ethclient.go @@ -22,7 +22,6 @@ import ( "math/big" "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/ethclient" ) @@ -191,7 +190,7 @@ func (ec *EthereumClient) FilterLogs(ctx *Context, query *FilterQuery) (logs *Lo return nil, err } // Temp hack due to vm.Logs being []*vm.Log - res := make(vm.Logs, len(rawLogs)) + res := make([]*types.Log, len(rawLogs)) for i, log := range rawLogs { res[i] = &log } @@ -208,7 +207,7 @@ type FilterLogsHandler interface { // SubscribeFilterLogs subscribes to the results of a streaming filter query. func (ec *EthereumClient) SubscribeFilterLogs(ctx *Context, query *FilterQuery, handler FilterLogsHandler, buffer int) (sub *Subscription, _ error) { // Subscribe to the event internally - ch := make(chan vm.Log, buffer) + ch := make(chan types.Log, buffer) rawSub, err := ec.client.SubscribeFilterLogs(ctx.context, query.query, ch) if err != nil { return nil, err diff --git a/mobile/p2p.go b/mobile/p2p.go index e717d4004..8d21639e5 100644 --- a/mobile/p2p.go +++ b/mobile/p2p.go @@ -38,7 +38,7 @@ func (ni *NodeInfo) GetListenerPort() int { return ni.info.Ports.Listener func (ni *NodeInfo) GetListenerAddress() string { return ni.info.ListenAddr } func (ni *NodeInfo) GetProtocols() *Strings { protos := []string{} - for proto, _ := range ni.info.Protocols { + for proto := range ni.info.Protocols { protos = append(protos, proto) } return &Strings{protos} diff --git a/mobile/params.go b/mobile/params.go index 8d5d3edbe..87747c7b0 100644 --- a/mobile/params.go +++ b/mobile/params.go @@ -85,8 +85,8 @@ func NewChainConfig() *ChainConfig { // by the foundation running the V5 discovery protocol. func FoundationBootnodes() *Enodes { nodes := &Enodes{nodes: make([]*discv5.Node, len(params.DiscoveryV5Bootnodes))} - for i, node := range params.DiscoveryV5Bootnodes { - nodes.nodes[i] = node + for i, url := range params.DiscoveryV5Bootnodes { + nodes.nodes[i] = discv5.MustParseNode(url) } return nodes } diff --git a/mobile/vm.go b/mobile/vm.go index cb098d390..72093e3d5 100644 --- a/mobile/vm.go +++ b/mobile/vm.go @@ -21,13 +21,13 @@ package geth import ( "errors" - "github.com/ethereum/go-ethereum/core/vm" + "github.com/ethereum/go-ethereum/core/types" ) // Log represents a contract log event. These events are generated by the LOG // opcode and stored/indexed by the node. type Log struct { - log *vm.Log + log *types.Log } func (l *Log) GetAddress() *Address { return &Address{l.log.Address} } @@ -40,7 +40,7 @@ func (l *Log) GetBlockHash() *Hash { return &Hash{l.log.BlockHash} } func (l *Log) GetIndex() int { return int(l.log.Index) } // Logs represents a slice of VM logs. -type Logs struct{ logs vm.Logs } +type Logs struct{ logs []*types.Log } // Size returns the number of logs in the slice. func (l *Logs) Size() int { |