From afe887fcc3e9d12d19a5502a799d74e0c9914d4e Mon Sep 17 00:00:00 2001 From: Jared Wasinger Date: Tue, 26 Nov 2024 17:51:29 +0700 Subject: [PATCH] remove old half-written test case with events (I will add it back in when I complete it). --- .../v2/v2_generated_testcase/abi.json | 2 - .../v2/v2_generated_testcase/contract.bin | 1 - .../v2/v2_generated_testcase/contract.sol | 51 ----- .../v2_generated_testcase/example_contract.go | 199 ------------------ .../abi/bind/v2/{v2_test.go => lib_test.go} | 130 +----------- 5 files changed, 3 insertions(+), 380 deletions(-) delete mode 100644 accounts/abi/bind/testdata/v2/v2_generated_testcase/abi.json delete mode 100644 accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.bin delete mode 100644 accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.sol delete mode 100644 accounts/abi/bind/testdata/v2/v2_generated_testcase/example_contract.go rename accounts/abi/bind/v2/{v2_test.go => lib_test.go} (53%) diff --git a/accounts/abi/bind/testdata/v2/v2_generated_testcase/abi.json b/accounts/abi/bind/testdata/v2/v2_generated_testcase/abi.json deleted file mode 100644 index d9d45d33a4..0000000000 --- a/accounts/abi/bind/testdata/v2/v2_generated_testcase/abi.json +++ /dev/null @@ -1,2 +0,0 @@ - -[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"firstArg","type":"uint256"},{"indexed":false,"internalType":"string","name":"secondArg","type":"string"}],"name":"Basic","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"firstArg","type":"uint256"},{"components":[{"internalType":"int256","name":"val1","type":"int256"},{"internalType":"int256","name":"val2","type":"int256"},{"internalType":"string","name":"val3","type":"string"}],"indexed":false,"internalType":"struct Example.exampleStruct","name":"secondArg","type":"tuple"}],"name":"Struct","type":"event"},{"inputs":[],"name":"emitEvent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emitEventsDiffTypes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emitTwoEvents","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"mutateStorageVal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveStorageVal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}] diff --git a/accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.bin b/accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.bin deleted file mode 100644 index 80fb73db59..0000000000 --- a/accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.bin +++ /dev/null @@ -1 +0,0 @@ -6080604052348015600e575f80fd5b5061052b8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c80636da1cd55146100595780637216c3331461007757806379da6d70146100815780637b0cb8391461008b578063bf54fad414610095575b5f80fd5b6100616100b1565b60405161006e9190610246565b60405180910390f35b61007f6100b9565b005b610089610129565b005b6100936101ec565b005b6100af60048036038101906100aa919061028d565b610225565b005b5f8054905090565b607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a6040516100e890610312565b60405180910390a2607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a60405161011f9061037a565b60405180910390a2565b607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a60405161015890610312565b60405180910390a2607b7faa0aa64a4dab26dbe87da2dcff945b2197f80de1903db7334b8f496a94428d39604051806060016040528060018152602001600281526020016040518060400160405280600681526020017f737472696e6700000000000000000000000000000000000000000000000000008152508152506040516101e2919061046d565b60405180910390a2565b607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a60405161021b906104d7565b60405180910390a2565b805f8190555050565b5f819050919050565b6102408161022e565b82525050565b5f6020820190506102595f830184610237565b92915050565b5f80fd5b61026c8161022e565b8114610276575f80fd5b50565b5f8135905061028781610263565b92915050565b5f602082840312156102a2576102a161025f565b5b5f6102af84828501610279565b91505092915050565b5f82825260208201905092915050565b7f6576656e743100000000000000000000000000000000000000000000000000005f82015250565b5f6102fc6006836102b8565b9150610307826102c8565b602082019050919050565b5f6020820190508181035f830152610329816102f0565b9050919050565b7f6576656e743200000000000000000000000000000000000000000000000000005f82015250565b5f6103646006836102b8565b915061036f82610330565b602082019050919050565b5f6020820190508181035f83015261039181610358565b9050919050565b5f819050919050565b6103aa81610398565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6103f2826103b0565b6103fc81856103ba565b935061040c8185602086016103ca565b610415816103d8565b840191505092915050565b5f606083015f8301516104355f8601826103a1565b50602083015161044860208601826103a1565b506040830151848203604086015261046082826103e8565b9150508091505092915050565b5f6020820190508181035f8301526104858184610420565b905092915050565b7f6576656e740000000000000000000000000000000000000000000000000000005f82015250565b5f6104c16005836102b8565b91506104cc8261048d565b602082019050919050565b5f6020820190508181035f8301526104ee816104b5565b905091905056fea2646970667358221220946fc97c32ae98514551443303280f456cca960cbdcc95d1cec614233dec100764736f6c634300081a0033 diff --git a/accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.sol b/accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.sol deleted file mode 100644 index e48a07f854..0000000000 --- a/accounts/abi/bind/testdata/v2/v2_generated_testcase/contract.sol +++ /dev/null @@ -1,51 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0 - -pragma solidity >=0.8.2 <0.9.0; - -/** - * @title Storage - * @dev Store & retrieve value in a variable - * @custom:dev-run-script ./scripts/deploy_with_ethers.ts - */ -contract Example { - - uint256 number; - struct exampleStruct { - int val1; - int val2; - string val3; - } - - event Basic(uint indexed firstArg, string secondArg); - event Struct(uint indexed firstArg, exampleStruct secondArg); - - /** - * @dev Store value in variable - * @param num value to store - */ - function mutateStorageVal(uint256 num) public { - number = num; - } - - /** - * @dev Return value - * @return value of 'number' - */ - function retrieveStorageVal() public view returns (uint256){ - return number; - } - - function emitEvent() public { - emit Basic(123, "event"); - } - - function emitTwoEvents() public { - emit Basic(123, "event1"); - emit Basic(123, "event2"); - } - - function emitEventsDiffTypes() public { - emit Basic(123, "event1"); - emit Struct(123, exampleStruct({val1: 1, val2: 2, val3: "string"})); - } -} diff --git a/accounts/abi/bind/testdata/v2/v2_generated_testcase/example_contract.go b/accounts/abi/bind/testdata/v2/v2_generated_testcase/example_contract.go deleted file mode 100644 index 0aed0ddba8..0000000000 --- a/accounts/abi/bind/testdata/v2/v2_generated_testcase/example_contract.go +++ /dev/null @@ -1,199 +0,0 @@ -// Code generated via abigen V2 - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package v2_generated_testcase - -import ( - "errors" - "math/big" - - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = abi.ConvertType -) - -// ExampleexampleStruct is an auto generated low-level Go binding around an user-defined struct. -type ExampleexampleStruct struct { - Val1 *big.Int - Val2 *big.Int - Val3 string -} - -// V2GeneratedTestcaseMetaData contains all meta data concerning the V2GeneratedTestcase contract. -var V2GeneratedTestcaseMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"firstArg\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"secondArg\",\"type\":\"string\"}],\"name\":\"Basic\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"firstArg\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"int256\",\"name\":\"val1\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"val2\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"val3\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"structExample.exampleStruct\",\"name\":\"secondArg\",\"type\":\"tuple\"}],\"name\":\"Struct\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"emitEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emitEventsDiffTypes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emitTwoEvents\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"}],\"name\":\"mutateStorageVal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrieveStorageVal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x6080604052348015600e575f80fd5b5061052b8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c80636da1cd55146100595780637216c3331461007757806379da6d70146100815780637b0cb8391461008b578063bf54fad414610095575b5f80fd5b6100616100b1565b60405161006e9190610246565b60405180910390f35b61007f6100b9565b005b610089610129565b005b6100936101ec565b005b6100af60048036038101906100aa919061028d565b610225565b005b5f8054905090565b607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a6040516100e890610312565b60405180910390a2607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a60405161011f9061037a565b60405180910390a2565b607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a60405161015890610312565b60405180910390a2607b7faa0aa64a4dab26dbe87da2dcff945b2197f80de1903db7334b8f496a94428d39604051806060016040528060018152602001600281526020016040518060400160405280600681526020017f737472696e6700000000000000000000000000000000000000000000000000008152508152506040516101e2919061046d565b60405180910390a2565b607b7f114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a60405161021b906104d7565b60405180910390a2565b805f8190555050565b5f819050919050565b6102408161022e565b82525050565b5f6020820190506102595f830184610237565b92915050565b5f80fd5b61026c8161022e565b8114610276575f80fd5b50565b5f8135905061028781610263565b92915050565b5f602082840312156102a2576102a161025f565b5b5f6102af84828501610279565b91505092915050565b5f82825260208201905092915050565b7f6576656e743100000000000000000000000000000000000000000000000000005f82015250565b5f6102fc6006836102b8565b9150610307826102c8565b602082019050919050565b5f6020820190508181035f830152610329816102f0565b9050919050565b7f6576656e743200000000000000000000000000000000000000000000000000005f82015250565b5f6103646006836102b8565b915061036f82610330565b602082019050919050565b5f6020820190508181035f83015261039181610358565b9050919050565b5f819050919050565b6103aa81610398565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6103f2826103b0565b6103fc81856103ba565b935061040c8185602086016103ca565b610415816103d8565b840191505092915050565b5f606083015f8301516104355f8601826103a1565b50602083015161044860208601826103a1565b506040830151848203604086015261046082826103e8565b9150508091505092915050565b5f6020820190508181035f8301526104858184610420565b905092915050565b7f6576656e740000000000000000000000000000000000000000000000000000005f82015250565b5f6104c16005836102b8565b91506104cc8261048d565b602082019050919050565b5f6020820190508181035f8301526104ee816104b5565b905091905056fea2646970667358221220946fc97c32ae98514551443303280f456cca960cbdcc95d1cec614233dec100764736f6c634300081a0033", -} - -// V2GeneratedTestcaseInstance represents a deployed instance of the V2GeneratedTestcase contract. -type V2GeneratedTestcaseInstance struct { - V2GeneratedTestcase - address common.Address // consider removing this, not clear what it's used for now (and why did we need custom deploy method on previous abi?) - backend bind.ContractBackend -} - -func NewV2GeneratedTestcaseInstance(c *V2GeneratedTestcase, address common.Address, backend bind.ContractBackend) *V2GeneratedTestcaseInstance { - return &V2GeneratedTestcaseInstance{V2GeneratedTestcase: *c, address: address} -} - -func (i *V2GeneratedTestcaseInstance) Address() common.Address { - return i.address -} - -func (i *V2GeneratedTestcaseInstance) Backend() bind.ContractBackend { - return i.backend -} - -// V2GeneratedTestcase is an auto generated Go binding around an Ethereum contract. -type V2GeneratedTestcase struct { - abi abi.ABI - deployCode []byte -} - -// NewV2GeneratedTestcase creates a new instance of V2GeneratedTestcase. -func NewV2GeneratedTestcase() (*V2GeneratedTestcase, error) { - parsed, err := V2GeneratedTestcaseMetaData.GetAbi() - if err != nil { - return nil, err - } - code := common.Hex2Bytes(V2GeneratedTestcaseMetaData.Bin) - return &V2GeneratedTestcase{abi: *parsed, deployCode: code}, nil -} - -func (_V2GeneratedTestcase *V2GeneratedTestcase) DeployCode() []byte { - return _V2GeneratedTestcase.deployCode -} - -func (_V2GeneratedTestcase *V2GeneratedTestcase) PackConstructor() ([]byte, error) { - return _V2GeneratedTestcase.abi.Pack("") -} - -// EmitEvent is a free data retrieval call binding the contract method 0x7b0cb839. -// -// Solidity: function emitEvent() returns() -func (_V2GeneratedTestcase *V2GeneratedTestcase) PackEmitEvent() ([]byte, error) { - return _V2GeneratedTestcase.abi.Pack("emitEvent") -} - -// EmitEventsDiffTypes is a free data retrieval call binding the contract method 0x79da6d70. -// -// Solidity: function emitEventsDiffTypes() returns() -func (_V2GeneratedTestcase *V2GeneratedTestcase) PackEmitEventsDiffTypes() ([]byte, error) { - return _V2GeneratedTestcase.abi.Pack("emitEventsDiffTypes") -} - -// EmitTwoEvents is a free data retrieval call binding the contract method 0x7216c333. -// -// Solidity: function emitTwoEvents() returns() -func (_V2GeneratedTestcase *V2GeneratedTestcase) PackEmitTwoEvents() ([]byte, error) { - return _V2GeneratedTestcase.abi.Pack("emitTwoEvents") -} - -// MutateStorageVal is a free data retrieval call binding the contract method 0xbf54fad4. -// -// Solidity: function mutateStorageVal(uint256 num) returns() -func (_V2GeneratedTestcase *V2GeneratedTestcase) PackMutateStorageVal(num *big.Int) ([]byte, error) { - return _V2GeneratedTestcase.abi.Pack("mutateStorageVal", num) -} - -// RetrieveStorageVal is a free data retrieval call binding the contract method 0x6da1cd55. -// -// Solidity: function retrieveStorageVal() view returns(uint256) -func (_V2GeneratedTestcase *V2GeneratedTestcase) PackRetrieveStorageVal() ([]byte, error) { - return _V2GeneratedTestcase.abi.Pack("retrieveStorageVal") -} - -func (_V2GeneratedTestcase *V2GeneratedTestcase) UnpackRetrieveStorageVal(data []byte) (*big.Int, error) { - out, err := _V2GeneratedTestcase.abi.Unpack("retrieveStorageVal", data) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// V2GeneratedTestcaseBasic represents a Basic event raised by the V2GeneratedTestcase contract. -type V2GeneratedTestcaseBasic struct { - FirstArg *big.Int - SecondArg string - Raw *types.Log // Blockchain specific contextual infos -} - -func V2GeneratedTestcaseBasicEventID() common.Hash { - return common.HexToHash("0x114f97f563bc13d79fae32f4746248fd563650659371fef0bc8a7011fdd7bc6a") -} - -func (_V2GeneratedTestcase *V2GeneratedTestcase) UnpackBasicEvent(log *types.Log) (*V2GeneratedTestcaseBasic, error) { - event := "Basic" - if log.Topics[0] != _V2GeneratedTestcase.abi.Events[event].ID { - return nil, errors.New("event signature mismatch") - } - out := new(V2GeneratedTestcaseBasic) - if len(log.Data) > 0 { - if err := _V2GeneratedTestcase.abi.UnpackIntoInterface(out, event, log.Data); err != nil { - return nil, err - } - } - var indexed abi.Arguments - for _, arg := range _V2GeneratedTestcase.abi.Events[event].Inputs { - if arg.Indexed { - indexed = append(indexed, arg) - } - } - if err := abi.ParseTopics(out, indexed, log.Topics[1:]); err != nil { - return nil, err - } - out.Raw = log - return out, nil -} - -// V2GeneratedTestcaseStruct represents a Struct event raised by the V2GeneratedTestcase contract. -type V2GeneratedTestcaseStruct struct { - FirstArg *big.Int - SecondArg ExampleexampleStruct - Raw *types.Log // Blockchain specific contextual infos -} - -func V2GeneratedTestcaseStructEventID() common.Hash { - return common.HexToHash("0xaa0aa64a4dab26dbe87da2dcff945b2197f80de1903db7334b8f496a94428d39") -} - -func (_V2GeneratedTestcase *V2GeneratedTestcase) UnpackStructEvent(log *types.Log) (*V2GeneratedTestcaseStruct, error) { - event := "Struct" - if log.Topics[0] != _V2GeneratedTestcase.abi.Events[event].ID { - return nil, errors.New("event signature mismatch") - } - out := new(V2GeneratedTestcaseStruct) - if len(log.Data) > 0 { - if err := _V2GeneratedTestcase.abi.UnpackIntoInterface(out, event, log.Data); err != nil { - return nil, err - } - } - var indexed abi.Arguments - for _, arg := range _V2GeneratedTestcase.abi.Events[event].Inputs { - if arg.Indexed { - indexed = append(indexed, arg) - } - } - if err := abi.ParseTopics(out, indexed, log.Topics[1:]); err != nil { - return nil, err - } - out.Raw = log - return out, nil -} - diff --git a/accounts/abi/bind/v2/v2_test.go b/accounts/abi/bind/v2/lib_test.go similarity index 53% rename from accounts/abi/bind/v2/v2_test.go rename to accounts/abi/bind/v2/lib_test.go index 4f0fb90fb6..ccac33e974 100644 --- a/accounts/abi/bind/v2/v2_test.go +++ b/accounts/abi/bind/v2/lib_test.go @@ -34,87 +34,8 @@ func JSON(reader io.Reader) (abi.ABI, error) { return instance, nil } -func TestV2(t *testing.T) { - testAddr := crypto.PubkeyToAddress(testKey.PublicKey) - backend := simulated.NewBackend( - types.GenesisAlloc{ - testAddr: {Balance: big.NewInt(10000000000000000)}, - }, - func(nodeConf *node.Config, ethConf *ethconfig.Config) { - ethConf.Genesis.Difficulty = big.NewInt(0) - }, - ) - defer backend.Close() - - contractABI, err := JSON(strings.NewReader(v2_generated_testcase.V2GeneratedTestcaseMetaData.ABI)) - if err != nil { - panic(err) - } - - signer := types.LatestSigner(params.AllDevChainProtocolChanges) - opts := bind.TransactOpts{ - From: testAddr, - Nonce: nil, - Signer: func(address common.Address, tx *types.Transaction) (*types.Transaction, error) { - signature, err := crypto.Sign(signer.Hash(tx).Bytes(), testKey) - if err != nil { - t.Fatal(err) - } - signedTx, err := tx.WithSignature(signer, signature) - if err != nil { - t.Fatal(err) - } - return signedTx, nil - }, - Context: context.Background(), - } - // we should just be able to use the backend directly, instead of using - // this deprecated interface. However, the simulated backend no longer - // implements backends.SimulatedBackend... - bindBackend := backends.SimulatedBackend{ - Backend: backend, - Client: backend.Client(), - } - address, tx, _, err := bind.DeployContract(&opts, contractABI, common.Hex2Bytes(v2_generated_testcase.V2GeneratedTestcaseMetaData.Bin), &bindBackend) - if err != nil { - t.Fatal(err) - } - - _, err = bind.WaitDeployed(context.Background(), &bindBackend, tx) - if err != nil { - t.Fatalf("error deploying bound contract: %+v", err) - } - - contract, err := v2_generated_testcase.NewV2GeneratedTestcase() - if err != nil { - t.Fatal(err) // can't happen here with the example used. consider removing this block - } - //contractInstance := v2_generated_testcase.NewV2GeneratedTestcaseInstance(contract, address, bindBackend) - contractInstance := ContractInstance{ - Address: address, - Backend: bindBackend, - } - sinkCh := make(chan *v2_generated_testcase.V2GeneratedTestcaseStruct) - // q: what extra functionality is given by specifying this as a custom method, instead of catching emited methods - // from the sync channel? - unpackStruct := func(log *types.Log) (*v2_generated_testcase.V2GeneratedTestcaseStruct, error) { - res, err := contract.UnpackStructEvent(log) - return res, err - } - watchOpts := bind.WatchOpts{ - Start: nil, - Context: context.Background(), - } - // TODO: test using various topics - // q: does nil topics mean to accept any? - sub, err := WatchLogs[v2_generated_testcase.V2GeneratedTestcaseStruct](&contractInstance, &watchOpts, v2_generated_testcase.V2GeneratedTestcaseStructEventID(), unpackStruct, sinkCh, nil) - if err != nil { - t.Fatal(err) - } - defer sub.Unsubscribe() - // send a balance to our contract (contract must accept ether by default) -} - +// test that deploying a contract with library dependencies works, +// verifying by calling the deployed contract. func TestDeployment(t *testing.T) { testAddr := crypto.PubkeyToAddress(testKey.PublicKey) backend := simulated.NewBackend( @@ -228,57 +149,12 @@ func TestDeployment(t *testing.T) { /* func TestDeploymentWithOverrides(t *testing.T) { - testAddr := crypto.PubkeyToAddress(testKey.PublicKey) - backend := simulated.NewBackend( - types.GenesisAlloc{ - testAddr: {Balance: big.NewInt(10000000000000000)}, - }, - func(nodeConf *node.Config, ethConf *ethconfig.Config) { - ethConf.Genesis.Difficulty = big.NewInt(0) - }, - ) - defer backend.Close() - - _, err := JSON(strings.NewReader(v2_generated_testcase.V2GeneratedTestcaseMetaData.ABI)) - if err != nil { - panic(err) - } - - signer := types.LatestSigner(params.AllDevChainProtocolChanges) - opts := bind.TransactOpts{ - From: testAddr, - Nonce: nil, - Signer: func(address common.Address, tx *types.Transaction) (*types.Transaction, error) { - signature, err := crypto.Sign(signer.Hash(tx).Bytes(), testKey) - if err != nil { - t.Fatal(err) - } - signedTx, err := tx.WithSignature(signer, signature) - if err != nil { - t.Fatal(err) - } - return signedTx, nil - }, - Context: context.Background(), - } - // we should just be able to use the backend directly, instead of using - // this deprecated interface. However, the simulated backend no longer - // implements backends.SimulatedBackend... - bindBackend := backends.SimulatedBackend{ - Backend: backend, - Client: backend.Client(), - } // more deployment test case ideas: // 1) deploy libraries, then deploy contract first with libraries as overrides // 2) deploy contract without library dependencies. } */ + func TestEvents(t *testing.T) { // test watch/filter logs method on a contract that emits various kinds of events (struct-containing, etc.) } - -/* test-cases that should be extracted from v1 tests - -* EventChecker - - */