|
|
@ -282,7 +282,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy an interaction tester contract and call a transaction on it
|
|
|
|
// Deploy an interaction tester contract and call a transaction on it
|
|
|
|
_, _, interactor, err := DeployInteractor(auth, sim, "Deploy string")
|
|
|
|
_, _, interactor, err := DeployInteractor(auth, sim, "Deploy string")
|
|
|
@ -334,7 +336,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a tuple tester contract and execute a structured call on it
|
|
|
|
// Deploy a tuple tester contract and execute a structured call on it
|
|
|
|
_, _, getter, err := DeployGetter(auth, sim)
|
|
|
|
_, _, getter, err := DeployGetter(auth, sim)
|
|
|
@ -377,7 +381,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a tuple tester contract and execute a structured call on it
|
|
|
|
// Deploy a tuple tester contract and execute a structured call on it
|
|
|
|
_, _, tupler, err := DeployTupler(auth, sim)
|
|
|
|
_, _, tupler, err := DeployTupler(auth, sim)
|
|
|
@ -432,7 +438,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a slice tester contract and execute a n array call on it
|
|
|
|
// Deploy a slice tester contract and execute a n array call on it
|
|
|
|
_, _, slicer, err := DeploySlicer(auth, sim)
|
|
|
|
_, _, slicer, err := DeploySlicer(auth, sim)
|
|
|
@ -477,7 +485,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a default method invoker contract and execute its default method
|
|
|
|
// Deploy a default method invoker contract and execute its default method
|
|
|
|
_, _, defaulter, err := DeployDefaulter(auth, sim)
|
|
|
|
_, _, defaulter, err := DeployDefaulter(auth, sim)
|
|
|
@ -519,7 +529,9 @@ var bindTests = []struct {
|
|
|
|
`,
|
|
|
|
`,
|
|
|
|
`
|
|
|
|
`
|
|
|
|
// Create a simulator and wrap a non-deployed contract
|
|
|
|
// Create a simulator and wrap a non-deployed contract
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{}, uint64(10000000000))
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{}, uint64(10000000000))
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
nonexistent, err := NewNonExistent(common.Address{}, sim)
|
|
|
|
nonexistent, err := NewNonExistent(common.Address{}, sim)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
@ -566,7 +578,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a funky gas pattern contract
|
|
|
|
// Deploy a funky gas pattern contract
|
|
|
|
_, _, limiter, err := DeployFunkyGasPattern(auth, sim)
|
|
|
|
_, _, limiter, err := DeployFunkyGasPattern(auth, sim)
|
|
|
@ -613,7 +627,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a sender tester contract and execute a structured call on it
|
|
|
|
// Deploy a sender tester contract and execute a structured call on it
|
|
|
|
_, _, callfrom, err := DeployCallFrom(auth, sim)
|
|
|
|
_, _, callfrom, err := DeployCallFrom(auth, sim)
|
|
|
@ -685,7 +701,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy a underscorer tester contract and execute a structured call on it
|
|
|
|
// Deploy a underscorer tester contract and execute a structured call on it
|
|
|
|
_, _, underscorer, err := DeployUnderscorer(auth, sim)
|
|
|
|
_, _, underscorer, err := DeployUnderscorer(auth, sim)
|
|
|
@ -776,7 +794,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
// Deploy an eventer contract
|
|
|
|
// Deploy an eventer contract
|
|
|
|
_, _, eventer, err := DeployEventer(auth, sim)
|
|
|
|
_, _, eventer, err := DeployEventer(auth, sim)
|
|
|
@ -963,7 +983,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
//deploy the test contract
|
|
|
|
//deploy the test contract
|
|
|
|
_, _, testContract, err := DeployDeeplyNestedArray(auth, sim)
|
|
|
|
_, _, testContract, err := DeployDeeplyNestedArray(auth, sim)
|
|
|
@ -1059,12 +1081,12 @@ var bindTests = []struct {
|
|
|
|
`
|
|
|
|
`
|
|
|
|
pragma solidity >=0.4.19 <0.6.0;
|
|
|
|
pragma solidity >=0.4.19 <0.6.0;
|
|
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
|
|
|
|
|
|
|
|
contract Tuple {
|
|
|
|
contract Tuple {
|
|
|
|
struct S { uint a; uint[] b; T[] c; }
|
|
|
|
struct S { uint a; uint[] b; T[] c; }
|
|
|
|
struct T { uint x; uint y; }
|
|
|
|
struct T { uint x; uint y; }
|
|
|
|
event TupleEvent(S a, T[2][] b, T[][2] c, S[] d, uint[] e);
|
|
|
|
event TupleEvent(S a, T[2][] b, T[][2] c, S[] d, uint[] e);
|
|
|
|
|
|
|
|
|
|
|
|
function func1(S memory a, T[2][] memory b, T[][2] memory c, S[] memory d, uint[] memory e) public pure returns (S memory, T[2][] memory, T[][2] memory, S[] memory, uint[] memory) {
|
|
|
|
function func1(S memory a, T[2][] memory b, T[][2] memory c, S[] memory d, uint[] memory e) public pure returns (S memory, T[2][] memory, T[][2] memory, S[] memory, uint[] memory) {
|
|
|
|
return (a, b, c, d, e);
|
|
|
|
return (a, b, c, d, e);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1081,7 +1103,7 @@ var bindTests = []struct {
|
|
|
|
`
|
|
|
|
`
|
|
|
|
"math/big"
|
|
|
|
"math/big"
|
|
|
|
"reflect"
|
|
|
|
"reflect"
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/accounts/abi/bind"
|
|
|
|
"github.com/ethereum/go-ethereum/accounts/abi/bind"
|
|
|
|
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
|
|
|
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
|
|
|
"github.com/ethereum/go-ethereum/core"
|
|
|
|
"github.com/ethereum/go-ethereum/core"
|
|
|
@ -1091,13 +1113,15 @@ var bindTests = []struct {
|
|
|
|
`
|
|
|
|
`
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
backend := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_, _, contract, err := DeployTuple(auth, backend)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_, _, contract, err := DeployTuple(auth, sim)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("deploy contract failed %v", err)
|
|
|
|
t.Fatalf("deploy contract failed %v", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
backend.Commit()
|
|
|
|
sim.Commit()
|
|
|
|
|
|
|
|
|
|
|
|
check := func(a, b interface{}, errMsg string) {
|
|
|
|
check := func(a, b interface{}, errMsg string) {
|
|
|
|
if !reflect.DeepEqual(a, b) {
|
|
|
|
if !reflect.DeepEqual(a, b) {
|
|
|
@ -1169,7 +1193,7 @@ var bindTests = []struct {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("invoke contract failed, err %v", err)
|
|
|
|
t.Fatalf("invoke contract failed, err %v", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
backend.Commit()
|
|
|
|
sim.Commit()
|
|
|
|
|
|
|
|
|
|
|
|
iter, err := contract.FilterTupleEvent(nil)
|
|
|
|
iter, err := contract.FilterTupleEvent(nil)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
@ -1225,7 +1249,9 @@ var bindTests = []struct {
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
// Generate a new random account and a funded simulator
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
key, _ := crypto.GenerateKey()
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
auth := bind.NewKeyedTransactor(key)
|
|
|
|
|
|
|
|
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
sim := backends.NewSimulatedBackend(core.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000)}}, 10000000)
|
|
|
|
|
|
|
|
defer sim.Close()
|
|
|
|
|
|
|
|
|
|
|
|
//deploy the test contract
|
|
|
|
//deploy the test contract
|
|
|
|
_, _, testContract, err := DeployUseLibrary(auth, sim)
|
|
|
|
_, _, testContract, err := DeployUseLibrary(auth, sim)
|
|
|
|