mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 06:36:43 +00:00
accounts/abi/abigen: use golang uint256.Int for solidity uint256 params
Fixes type safety of abigen bindings for uint256 solidity parameters.
This commit is contained in:
parent
3a1d958458
commit
8663d9268e
35 changed files with 230 additions and 143 deletions
|
|
@ -304,6 +304,9 @@ func bindBasicType(kind abi.Type) string {
|
|||
case "8", "16", "32", "64":
|
||||
return fmt.Sprintf("%sint%s", parts[1], parts[2])
|
||||
}
|
||||
if parts[1] == "u" {
|
||||
return "*uint256.Int"
|
||||
}
|
||||
return "*big.Int"
|
||||
case abi.FixedBytesTy:
|
||||
return fmt.Sprintf("[%d]byte", kind.Size)
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
if b, err := NewToken(common.Address{}, nil); b == nil || err != nil {
|
||||
|
|
@ -90,8 +91,10 @@ var bindTests = []struct {
|
|||
sim := backends.NewSimulatedBackend(types.GenesisAlloc{auth.From: {Balance: big.NewInt(10000000000000000)}}, 10000000)
|
||||
defer sim.Close()
|
||||
|
||||
maxUint256 := uint256.MustFromHex("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
|
||||
|
||||
// Deploy an interaction tester contract and call a transaction on it
|
||||
_, _, interactor, err := DeployToken(auth, sim, big.NewInt(-1), "TestToken", 19, "Test")
|
||||
_, _, interactor, err := DeployToken(auth, sim, maxUint256, "TestToken", 19, "Test")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to deploy interactor contract: %v", err)
|
||||
}
|
||||
|
|
@ -101,7 +104,7 @@ var bindTests = []struct {
|
|||
toKey, _ := crypto.GenerateKey()
|
||||
toAddr := crypto.PubkeyToAddress(toKey.PublicKey)
|
||||
|
||||
transferValue := big.NewInt(-1)
|
||||
transferValue := maxUint256
|
||||
_, err = interactor.Transfer(auth, toAddr, transferValue)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to transfer tokens: %v", err)
|
||||
|
|
@ -249,6 +252,7 @@ var bindTests = []struct {
|
|||
"reflect"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`if e, err := NewEventChecker(common.Address{}, nil); e == nil || err != nil {
|
||||
t.Fatalf("binding (%v) nil or error (%v) not nil", e, nil)
|
||||
|
|
@ -291,7 +295,7 @@ var bindTests = []struct {
|
|||
|
||||
fmt.Println(res, str, dat, hash, err)
|
||||
|
||||
oit, err := e.FilterUnnamed(nil, []*big.Int{}, []*big.Int{})
|
||||
oit, err := e.FilterUnnamed(nil, []*uint256.Int{}, []*uint256.Int{})
|
||||
|
||||
arg0 := oit.Event.Arg0 // Make sure unnamed arguments are handled correctly
|
||||
arg1 := oit.Event.Arg1 // Make sure unnamed arguments are handled correctly
|
||||
|
|
@ -958,6 +962,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
// Generate a new random account and a funded simulator
|
||||
|
|
@ -977,7 +982,7 @@ var bindTests = []struct {
|
|||
// Inject a few events into the contract, gradually more in each block
|
||||
for i := 1; i <= 3; i++ {
|
||||
for j := 1; j <= i; j++ {
|
||||
if _, err := eventer.RaiseSimpleEvent(auth, common.Address{byte(j)}, [32]byte{byte(j)}, true, big.NewInt(int64(10*i+j))); err != nil {
|
||||
if _, err := eventer.RaiseSimpleEvent(auth, common.Address{byte(j)}, [32]byte{byte(j)}, true, uint256.NewInt(uint64(10*i+j))); err != nil {
|
||||
t.Fatalf("block %d, event %d: raise failed: %v", i, j, err)
|
||||
}
|
||||
}
|
||||
|
|
@ -1014,12 +1019,12 @@ var bindTests = []struct {
|
|||
t.Fatalf("simple event iteration failed: %v", err)
|
||||
}
|
||||
// Test raising and filtering for an event with no data component
|
||||
if _, err := eventer.RaiseNodataEvent(auth, big.NewInt(314), 141, 271); err != nil {
|
||||
if _, err := eventer.RaiseNodataEvent(auth, uint256.NewInt(314), 141, 271); err != nil {
|
||||
t.Fatalf("failed to raise nodata event: %v", err)
|
||||
}
|
||||
sim.Commit()
|
||||
|
||||
nit, err := eventer.FilterNodataEvent(nil, []*big.Int{big.NewInt(314)}, []int16{140, 141, 142}, []uint32{271})
|
||||
nit, err := eventer.FilterNodataEvent(nil, []*uint256.Int{uint256.NewInt(314)}, []int16{140, 141, 142}, []uint32{271})
|
||||
if err != nil {
|
||||
t.Fatalf("failed to filter for nodata events: %v", err)
|
||||
}
|
||||
|
|
@ -1094,7 +1099,7 @@ var bindTests = []struct {
|
|||
if err != nil {
|
||||
t.Fatalf("failed to subscribe to simple events: %v", err)
|
||||
}
|
||||
if _, err := eventer.RaiseSimpleEvent(auth, common.Address{255}, [32]byte{255}, true, big.NewInt(255)); err != nil {
|
||||
if _, err := eventer.RaiseSimpleEvent(auth, common.Address{255}, [32]byte{255}, true, uint256.NewInt(255)); err != nil {
|
||||
t.Fatalf("failed to raise subscribed simple event: %v", err)
|
||||
}
|
||||
sim.Commit()
|
||||
|
|
@ -1110,7 +1115,7 @@ var bindTests = []struct {
|
|||
// Unsubscribe from the event and make sure we're not delivered more
|
||||
sub.Unsubscribe()
|
||||
|
||||
if _, err := eventer.RaiseSimpleEvent(auth, common.Address{254}, [32]byte{254}, true, big.NewInt(254)); err != nil {
|
||||
if _, err := eventer.RaiseSimpleEvent(auth, common.Address{254}, [32]byte{254}, true, uint256.NewInt(254)); err != nil {
|
||||
t.Fatalf("failed to raise subscribed simple event: %v", err)
|
||||
}
|
||||
sim.Commit()
|
||||
|
|
@ -1283,6 +1288,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
|
||||
`
|
||||
|
|
@ -1305,16 +1311,16 @@ var bindTests = []struct {
|
|||
}
|
||||
|
||||
a := TupleS{
|
||||
A: big.NewInt(1),
|
||||
B: []*big.Int{big.NewInt(2), big.NewInt(3)},
|
||||
A: uint256.NewInt(1),
|
||||
B: []*uint256.Int{uint256.NewInt(2), uint256.NewInt(3)},
|
||||
C: []TupleT{
|
||||
{
|
||||
X: big.NewInt(4),
|
||||
Y: big.NewInt(5),
|
||||
X: uint256.NewInt(4),
|
||||
Y: uint256.NewInt(5),
|
||||
},
|
||||
{
|
||||
X: big.NewInt(6),
|
||||
Y: big.NewInt(7),
|
||||
X: uint256.NewInt(6),
|
||||
Y: uint256.NewInt(7),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1322,12 +1328,12 @@ var bindTests = []struct {
|
|||
b := [][2]TupleT{
|
||||
{
|
||||
{
|
||||
X: big.NewInt(8),
|
||||
Y: big.NewInt(9),
|
||||
X: uint256.NewInt(8),
|
||||
Y: uint256.NewInt(9),
|
||||
},
|
||||
{
|
||||
X: big.NewInt(10),
|
||||
Y: big.NewInt(11),
|
||||
X: uint256.NewInt(10),
|
||||
Y: uint256.NewInt(11),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1335,25 +1341,25 @@ var bindTests = []struct {
|
|||
c := [2][]TupleT{
|
||||
{
|
||||
{
|
||||
X: big.NewInt(12),
|
||||
Y: big.NewInt(13),
|
||||
X: uint256.NewInt(12),
|
||||
Y: uint256.NewInt(13),
|
||||
},
|
||||
{
|
||||
X: big.NewInt(14),
|
||||
Y: big.NewInt(15),
|
||||
X: uint256.NewInt(14),
|
||||
Y: uint256.NewInt(15),
|
||||
},
|
||||
},
|
||||
{
|
||||
{
|
||||
X: big.NewInt(16),
|
||||
Y: big.NewInt(17),
|
||||
X: uint256.NewInt(16),
|
||||
Y: uint256.NewInt(17),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
d := []TupleS{a}
|
||||
|
||||
e := []*big.Int{big.NewInt(18), big.NewInt(19)}
|
||||
e := []*uint256.Int{uint256.NewInt(18), uint256.NewInt(19)}
|
||||
ret1, ret2, ret3, ret4, ret5, err := contract.Func1(nil, a, b, c, d, e)
|
||||
if err != nil {
|
||||
t.Fatalf("invoke contract failed, err %v", err)
|
||||
|
|
@ -1425,6 +1431,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
// Generate a new random account and a funded simulator
|
||||
|
|
@ -1448,11 +1455,11 @@ var bindTests = []struct {
|
|||
res, err := testContract.Add(&bind.CallOpts{
|
||||
From: auth.From,
|
||||
Pending: false,
|
||||
}, big.NewInt(1), big.NewInt(2))
|
||||
}, uint256.NewInt(1), uint256.NewInt(2))
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to call linked contract: %v", err)
|
||||
}
|
||||
if res.Cmp(big.NewInt(3)) != 0 {
|
||||
if res.Cmp(uint256.NewInt(3)) != 0 {
|
||||
t.Fatalf("Add did not return the correct result: %d != %d", res, 3)
|
||||
}
|
||||
`,
|
||||
|
|
@ -1491,6 +1498,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
// Initialize test accounts
|
||||
|
|
@ -1529,7 +1537,7 @@ var bindTests = []struct {
|
|||
}
|
||||
}
|
||||
}()
|
||||
contract.Foo(auth, big.NewInt(1), big.NewInt(2))
|
||||
contract.Foo(auth, uint256.NewInt(1), uint256.NewInt(2))
|
||||
sim.Commit()
|
||||
select {
|
||||
case n := <-resCh:
|
||||
|
|
@ -1540,7 +1548,7 @@ var bindTests = []struct {
|
|||
t.Fatalf("Wait bar0 event timeout")
|
||||
}
|
||||
|
||||
contract.Foo0(auth, big.NewInt(1))
|
||||
contract.Foo0(auth, uint256.NewInt(1))
|
||||
sim.Commit()
|
||||
select {
|
||||
case n := <-resCh:
|
||||
|
|
@ -1642,6 +1650,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
key, _ := crypto.GenerateKey()
|
||||
|
|
@ -1658,7 +1667,7 @@ var bindTests = []struct {
|
|||
}
|
||||
sim.Commit()
|
||||
err = c1.Foo(nil, ExternalLibSharedStruct{
|
||||
F1: big.NewInt(100),
|
||||
F1: uint256.NewInt(100),
|
||||
F2: [32]byte{0x01, 0x02, 0x03},
|
||||
})
|
||||
if err != nil {
|
||||
|
|
@ -1670,7 +1679,7 @@ var bindTests = []struct {
|
|||
}
|
||||
sim.Commit()
|
||||
err = c2.Bar(nil, ExternalLibSharedStruct{
|
||||
F1: big.NewInt(100),
|
||||
F1: uint256.NewInt(100),
|
||||
F2: [32]byte{0x01, 0x02, 0x03},
|
||||
})
|
||||
if err != nil {
|
||||
|
|
@ -1704,6 +1713,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
// Generate a new random account and a funded simulator
|
||||
|
|
@ -1723,12 +1733,12 @@ var bindTests = []struct {
|
|||
// This test the existence of the free retriever call for view and pure functions
|
||||
if num, err := pav.PureFunc(nil); err != nil {
|
||||
t.Fatalf("Failed to call anonymous field retriever: %v", err)
|
||||
} else if num.Cmp(big.NewInt(42)) != 0 {
|
||||
} else if num.Cmp(uint256.NewInt(42)) != 0 {
|
||||
t.Fatalf("Retrieved value mismatch: have %v, want %v", num, 42)
|
||||
}
|
||||
if num, err := pav.ViewFunc(nil); err != nil {
|
||||
t.Fatalf("Failed to call anonymous field retriever: %v", err)
|
||||
} else if num.Cmp(big.NewInt(1)) != 0 {
|
||||
} else if num.Cmp(uint256.NewInt(1)) != 0 {
|
||||
t.Fatalf("Retrieved value mismatch: have %v, want %v", num, 1)
|
||||
}
|
||||
`,
|
||||
|
|
@ -1749,7 +1759,7 @@ var bindTests = []struct {
|
|||
emit Fallback(msg.data);
|
||||
}
|
||||
|
||||
event Received(address addr, uint value);
|
||||
event Received(address addr, uint256 value);
|
||||
receive() external payable {
|
||||
emit Received(msg.sender, msg.value);
|
||||
}
|
||||
|
|
@ -1856,6 +1866,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/ethereum/go-ethereum/eth/ethconfig"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
`
|
||||
var (
|
||||
|
|
@ -1894,10 +1905,10 @@ var bindTests = []struct {
|
|||
}
|
||||
var count int
|
||||
for it.Next() {
|
||||
if it.Event.S.A.Cmp(big.NewInt(1)) != 0 {
|
||||
if it.Event.S.A.Cmp(uint256.NewInt(1)) != 0 {
|
||||
t.Fatal("Unexpected contract event")
|
||||
}
|
||||
if it.Event.S.B.Cmp(big.NewInt(2)) != 0 {
|
||||
if it.Event.S.B.Cmp(uint256.NewInt(2)) != 0 {
|
||||
t.Fatal("Unexpected contract event")
|
||||
}
|
||||
count += 1
|
||||
|
|
@ -1991,6 +2002,7 @@ var bindTests = []struct {
|
|||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/ethereum/go-ethereum/eth/ethconfig"
|
||||
"github.com/holiman/uint256"
|
||||
`,
|
||||
tester: `
|
||||
var (
|
||||
|
|
@ -2000,7 +2012,7 @@ var bindTests = []struct {
|
|||
)
|
||||
defer sim.Close()
|
||||
|
||||
_, tx, _, err := DeployConstructorWithStructParam(user, sim, ConstructorWithStructParamStructType{Field: big.NewInt(42)})
|
||||
_, tx, _, err := DeployConstructorWithStructParam(user, sim, ConstructorWithStructParamStructType{Field: uint256.NewInt(42)})
|
||||
if err != nil {
|
||||
t.Fatalf("DeployConstructorWithStructParam() got err %v; want nil err", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/event"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -27,6 +28,7 @@ var (
|
|||
_ = types.BloomLookup
|
||||
_ = event.NewSubscription
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
{{$structs := .Structs}}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
{{$structs := .Structs}}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// CallbackParamMetaData contains all meta data concerning the CallbackParam contract.
|
||||
|
|
|
|||
36
accounts/abi/abigen/testdata/v2/crowdsale.go.txt
vendored
36
accounts/abi/abigen/testdata/v2/crowdsale.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// CrowdsaleMetaData contains all meta data concerning the Crowdsale contract.
|
||||
|
|
@ -55,7 +57,7 @@ func (c *Crowdsale) Instance(backend bind.ContractBackend, addr common.Address)
|
|||
// contract deployment.
|
||||
//
|
||||
// Solidity: constructor(address ifSuccessfulSendTo, uint256 fundingGoalInEthers, uint256 durationInMinutes, uint256 etherCostOfEachToken, address addressOfTokenUsedAsReward) returns()
|
||||
func (crowdsale *Crowdsale) PackConstructor(ifSuccessfulSendTo common.Address, fundingGoalInEthers *big.Int, durationInMinutes *big.Int, etherCostOfEachToken *big.Int, addressOfTokenUsedAsReward common.Address) []byte {
|
||||
func (crowdsale *Crowdsale) PackConstructor(ifSuccessfulSendTo common.Address, fundingGoalInEthers *uint256.Int, durationInMinutes *uint256.Int, etherCostOfEachToken *uint256.Int, addressOfTokenUsedAsReward common.Address) []byte {
|
||||
enc, err := crowdsale.abi.Pack("", ifSuccessfulSendTo, fundingGoalInEthers, durationInMinutes, etherCostOfEachToken, addressOfTokenUsedAsReward)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -79,12 +81,12 @@ func (crowdsale *Crowdsale) PackAmountRaised() []byte {
|
|||
// from invoking the contract method with ID 0x7b3e5e7b.
|
||||
//
|
||||
// Solidity: function amountRaised() returns(uint256)
|
||||
func (crowdsale *Crowdsale) UnpackAmountRaised(data []byte) (*big.Int, error) {
|
||||
func (crowdsale *Crowdsale) UnpackAmountRaised(data []byte) (*uint256.Int, error) {
|
||||
out, err := crowdsale.abi.Unpack("amountRaised", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -141,12 +143,12 @@ func (crowdsale *Crowdsale) PackDeadline() []byte {
|
|||
// from invoking the contract method with ID 0x29dcb0cf.
|
||||
//
|
||||
// Solidity: function deadline() returns(uint256)
|
||||
func (crowdsale *Crowdsale) UnpackDeadline(data []byte) (*big.Int, error) {
|
||||
func (crowdsale *Crowdsale) UnpackDeadline(data []byte) (*uint256.Int, error) {
|
||||
out, err := crowdsale.abi.Unpack("deadline", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -154,7 +156,7 @@ func (crowdsale *Crowdsale) UnpackDeadline(data []byte) (*big.Int, error) {
|
|||
// the contract method with ID 0xdc0d3dff.
|
||||
//
|
||||
// Solidity: function funders(uint256 ) returns(address addr, uint256 amount)
|
||||
func (crowdsale *Crowdsale) PackFunders(arg0 *big.Int) []byte {
|
||||
func (crowdsale *Crowdsale) PackFunders(arg0 *uint256.Int) []byte {
|
||||
enc, err := crowdsale.abi.Pack("funders", arg0)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -166,7 +168,7 @@ func (crowdsale *Crowdsale) PackFunders(arg0 *big.Int) []byte {
|
|||
// method Funders.
|
||||
type FundersOutput struct {
|
||||
Addr common.Address
|
||||
Amount *big.Int
|
||||
Amount *uint256.Int
|
||||
}
|
||||
|
||||
// UnpackFunders is the Go binding that unpacks the parameters returned
|
||||
|
|
@ -180,7 +182,7 @@ func (crowdsale *Crowdsale) UnpackFunders(data []byte) (FundersOutput, error) {
|
|||
return *outstruct, err
|
||||
}
|
||||
outstruct.Addr = *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
|
||||
outstruct.Amount = abi.ConvertType(out[1], new(big.Int)).(*big.Int)
|
||||
outstruct.Amount = abi.ConvertType(out[1], new(uint256.Int)).(*uint256.Int)
|
||||
return *outstruct, err
|
||||
|
||||
}
|
||||
|
|
@ -201,12 +203,12 @@ func (crowdsale *Crowdsale) PackFundingGoal() []byte {
|
|||
// from invoking the contract method with ID 0x7a3a0e84.
|
||||
//
|
||||
// Solidity: function fundingGoal() returns(uint256)
|
||||
func (crowdsale *Crowdsale) UnpackFundingGoal(data []byte) (*big.Int, error) {
|
||||
func (crowdsale *Crowdsale) UnpackFundingGoal(data []byte) (*uint256.Int, error) {
|
||||
out, err := crowdsale.abi.Unpack("fundingGoal", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -226,12 +228,12 @@ func (crowdsale *Crowdsale) PackPrice() []byte {
|
|||
// from invoking the contract method with ID 0xa035b1fe.
|
||||
//
|
||||
// Solidity: function price() returns(uint256)
|
||||
func (crowdsale *Crowdsale) UnpackPrice(data []byte) (*big.Int, error) {
|
||||
func (crowdsale *Crowdsale) UnpackPrice(data []byte) (*uint256.Int, error) {
|
||||
out, err := crowdsale.abi.Unpack("price", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -263,7 +265,7 @@ func (crowdsale *Crowdsale) UnpackTokenReward(data []byte) (common.Address, erro
|
|||
// CrowdsaleFundTransfer represents a FundTransfer event raised by the Crowdsale contract.
|
||||
type CrowdsaleFundTransfer struct {
|
||||
Backer common.Address
|
||||
Amount *big.Int
|
||||
Amount *uint256.Int
|
||||
IsContribution bool
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
|
|
|||
84
accounts/abi/abigen/testdata/v2/dao.go.txt
vendored
84
accounts/abi/abigen/testdata/v2/dao.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// DAOMetaData contains all meta data concerning the DAO contract.
|
||||
|
|
@ -55,7 +57,7 @@ func (c *DAO) Instance(backend bind.ContractBackend, addr common.Address) *bind.
|
|||
// contract deployment.
|
||||
//
|
||||
// Solidity: constructor(uint256 minimumQuorumForProposals, uint256 minutesForDebate, int256 marginOfVotesForMajority, address congressLeader) returns()
|
||||
func (dAO *DAO) PackConstructor(minimumQuorumForProposals *big.Int, minutesForDebate *big.Int, marginOfVotesForMajority *big.Int, congressLeader common.Address) []byte {
|
||||
func (dAO *DAO) PackConstructor(minimumQuorumForProposals *uint256.Int, minutesForDebate *uint256.Int, marginOfVotesForMajority *big.Int, congressLeader common.Address) []byte {
|
||||
enc, err := dAO.abi.Pack("", minimumQuorumForProposals, minutesForDebate, marginOfVotesForMajority, congressLeader)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -79,7 +81,7 @@ func (dAO *DAO) PackChangeMembership(targetMember common.Address, canVote bool,
|
|||
// the contract method with ID 0xbcca1fd3.
|
||||
//
|
||||
// Solidity: function changeVotingRules(uint256 minimumQuorumForProposals, uint256 minutesForDebate, int256 marginOfVotesForMajority) returns()
|
||||
func (dAO *DAO) PackChangeVotingRules(minimumQuorumForProposals *big.Int, minutesForDebate *big.Int, marginOfVotesForMajority *big.Int) []byte {
|
||||
func (dAO *DAO) PackChangeVotingRules(minimumQuorumForProposals *uint256.Int, minutesForDebate *uint256.Int, marginOfVotesForMajority *big.Int) []byte {
|
||||
enc, err := dAO.abi.Pack("changeVotingRules", minimumQuorumForProposals, minutesForDebate, marginOfVotesForMajority)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -91,7 +93,7 @@ func (dAO *DAO) PackChangeVotingRules(minimumQuorumForProposals *big.Int, minute
|
|||
// the contract method with ID 0xeceb2945.
|
||||
//
|
||||
// Solidity: function checkProposalCode(uint256 proposalNumber, address beneficiary, uint256 etherAmount, bytes transactionBytecode) returns(bool codeChecksOut)
|
||||
func (dAO *DAO) PackCheckProposalCode(proposalNumber *big.Int, beneficiary common.Address, etherAmount *big.Int, transactionBytecode []byte) []byte {
|
||||
func (dAO *DAO) PackCheckProposalCode(proposalNumber *uint256.Int, beneficiary common.Address, etherAmount *uint256.Int, transactionBytecode []byte) []byte {
|
||||
enc, err := dAO.abi.Pack("checkProposalCode", proposalNumber, beneficiary, etherAmount, transactionBytecode)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -128,12 +130,12 @@ func (dAO *DAO) PackDebatingPeriodInMinutes() []byte {
|
|||
// from invoking the contract method with ID 0x69bd3436.
|
||||
//
|
||||
// Solidity: function debatingPeriodInMinutes() returns(uint256)
|
||||
func (dAO *DAO) UnpackDebatingPeriodInMinutes(data []byte) (*big.Int, error) {
|
||||
func (dAO *DAO) UnpackDebatingPeriodInMinutes(data []byte) (*uint256.Int, error) {
|
||||
out, err := dAO.abi.Unpack("debatingPeriodInMinutes", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +143,7 @@ func (dAO *DAO) UnpackDebatingPeriodInMinutes(data []byte) (*big.Int, error) {
|
|||
// the contract method with ID 0x237e9492.
|
||||
//
|
||||
// Solidity: function executeProposal(uint256 proposalNumber, bytes transactionBytecode) returns(int256 result)
|
||||
func (dAO *DAO) PackExecuteProposal(proposalNumber *big.Int, transactionBytecode []byte) []byte {
|
||||
func (dAO *DAO) PackExecuteProposal(proposalNumber *uint256.Int, transactionBytecode []byte) []byte {
|
||||
enc, err := dAO.abi.Pack("executeProposal", proposalNumber, transactionBytecode)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -203,12 +205,12 @@ func (dAO *DAO) PackMemberId(arg0 common.Address) []byte {
|
|||
// from invoking the contract method with ID 0x39106821.
|
||||
//
|
||||
// Solidity: function memberId(address ) returns(uint256)
|
||||
func (dAO *DAO) UnpackMemberId(data []byte) (*big.Int, error) {
|
||||
func (dAO *DAO) UnpackMemberId(data []byte) (*uint256.Int, error) {
|
||||
out, err := dAO.abi.Unpack("memberId", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -216,7 +218,7 @@ func (dAO *DAO) UnpackMemberId(data []byte) (*big.Int, error) {
|
|||
// the contract method with ID 0x5daf08ca.
|
||||
//
|
||||
// Solidity: function members(uint256 ) returns(address member, bool canVote, string name, uint256 memberSince)
|
||||
func (dAO *DAO) PackMembers(arg0 *big.Int) []byte {
|
||||
func (dAO *DAO) PackMembers(arg0 *uint256.Int) []byte {
|
||||
enc, err := dAO.abi.Pack("members", arg0)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -230,7 +232,7 @@ type MembersOutput struct {
|
|||
Member common.Address
|
||||
CanVote bool
|
||||
Name string
|
||||
MemberSince *big.Int
|
||||
MemberSince *uint256.Int
|
||||
}
|
||||
|
||||
// UnpackMembers is the Go binding that unpacks the parameters returned
|
||||
|
|
@ -246,7 +248,7 @@ func (dAO *DAO) UnpackMembers(data []byte) (MembersOutput, error) {
|
|||
outstruct.Member = *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
|
||||
outstruct.CanVote = *abi.ConvertType(out[1], new(bool)).(*bool)
|
||||
outstruct.Name = *abi.ConvertType(out[2], new(string)).(*string)
|
||||
outstruct.MemberSince = abi.ConvertType(out[3], new(big.Int)).(*big.Int)
|
||||
outstruct.MemberSince = abi.ConvertType(out[3], new(uint256.Int)).(*uint256.Int)
|
||||
return *outstruct, err
|
||||
|
||||
}
|
||||
|
|
@ -267,12 +269,12 @@ func (dAO *DAO) PackMinimumQuorum() []byte {
|
|||
// from invoking the contract method with ID 0x8160f0b5.
|
||||
//
|
||||
// Solidity: function minimumQuorum() returns(uint256)
|
||||
func (dAO *DAO) UnpackMinimumQuorum(data []byte) (*big.Int, error) {
|
||||
func (dAO *DAO) UnpackMinimumQuorum(data []byte) (*uint256.Int, error) {
|
||||
out, err := dAO.abi.Unpack("minimumQuorum", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -280,7 +282,7 @@ func (dAO *DAO) UnpackMinimumQuorum(data []byte) (*big.Int, error) {
|
|||
// the contract method with ID 0xb1050da5.
|
||||
//
|
||||
// Solidity: function newProposal(address beneficiary, uint256 etherAmount, string JobDescription, bytes transactionBytecode) returns(uint256 proposalID)
|
||||
func (dAO *DAO) PackNewProposal(beneficiary common.Address, etherAmount *big.Int, jobDescription string, transactionBytecode []byte) []byte {
|
||||
func (dAO *DAO) PackNewProposal(beneficiary common.Address, etherAmount *uint256.Int, jobDescription string, transactionBytecode []byte) []byte {
|
||||
enc, err := dAO.abi.Pack("newProposal", beneficiary, etherAmount, jobDescription, transactionBytecode)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -292,12 +294,12 @@ func (dAO *DAO) PackNewProposal(beneficiary common.Address, etherAmount *big.Int
|
|||
// from invoking the contract method with ID 0xb1050da5.
|
||||
//
|
||||
// Solidity: function newProposal(address beneficiary, uint256 etherAmount, string JobDescription, bytes transactionBytecode) returns(uint256 proposalID)
|
||||
func (dAO *DAO) UnpackNewProposal(data []byte) (*big.Int, error) {
|
||||
func (dAO *DAO) UnpackNewProposal(data []byte) (*uint256.Int, error) {
|
||||
out, err := dAO.abi.Unpack("newProposal", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -317,12 +319,12 @@ func (dAO *DAO) PackNumProposals() []byte {
|
|||
// from invoking the contract method with ID 0x400e3949.
|
||||
//
|
||||
// Solidity: function numProposals() returns(uint256)
|
||||
func (dAO *DAO) UnpackNumProposals(data []byte) (*big.Int, error) {
|
||||
func (dAO *DAO) UnpackNumProposals(data []byte) (*uint256.Int, error) {
|
||||
out, err := dAO.abi.Unpack("numProposals", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -355,7 +357,7 @@ func (dAO *DAO) UnpackOwner(data []byte) (common.Address, error) {
|
|||
// the contract method with ID 0x013cf08b.
|
||||
//
|
||||
// Solidity: function proposals(uint256 ) returns(address recipient, uint256 amount, string description, uint256 votingDeadline, bool executed, bool proposalPassed, uint256 numberOfVotes, int256 currentResult, bytes32 proposalHash)
|
||||
func (dAO *DAO) PackProposals(arg0 *big.Int) []byte {
|
||||
func (dAO *DAO) PackProposals(arg0 *uint256.Int) []byte {
|
||||
enc, err := dAO.abi.Pack("proposals", arg0)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -367,12 +369,12 @@ func (dAO *DAO) PackProposals(arg0 *big.Int) []byte {
|
|||
// method Proposals.
|
||||
type ProposalsOutput struct {
|
||||
Recipient common.Address
|
||||
Amount *big.Int
|
||||
Amount *uint256.Int
|
||||
Description string
|
||||
VotingDeadline *big.Int
|
||||
VotingDeadline *uint256.Int
|
||||
Executed bool
|
||||
ProposalPassed bool
|
||||
NumberOfVotes *big.Int
|
||||
NumberOfVotes *uint256.Int
|
||||
CurrentResult *big.Int
|
||||
ProposalHash [32]byte
|
||||
}
|
||||
|
|
@ -388,12 +390,12 @@ func (dAO *DAO) UnpackProposals(data []byte) (ProposalsOutput, error) {
|
|||
return *outstruct, err
|
||||
}
|
||||
outstruct.Recipient = *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
|
||||
outstruct.Amount = abi.ConvertType(out[1], new(big.Int)).(*big.Int)
|
||||
outstruct.Amount = abi.ConvertType(out[1], new(uint256.Int)).(*uint256.Int)
|
||||
outstruct.Description = *abi.ConvertType(out[2], new(string)).(*string)
|
||||
outstruct.VotingDeadline = abi.ConvertType(out[3], new(big.Int)).(*big.Int)
|
||||
outstruct.VotingDeadline = abi.ConvertType(out[3], new(uint256.Int)).(*uint256.Int)
|
||||
outstruct.Executed = *abi.ConvertType(out[4], new(bool)).(*bool)
|
||||
outstruct.ProposalPassed = *abi.ConvertType(out[5], new(bool)).(*bool)
|
||||
outstruct.NumberOfVotes = abi.ConvertType(out[6], new(big.Int)).(*big.Int)
|
||||
outstruct.NumberOfVotes = abi.ConvertType(out[6], new(uint256.Int)).(*uint256.Int)
|
||||
outstruct.CurrentResult = abi.ConvertType(out[7], new(big.Int)).(*big.Int)
|
||||
outstruct.ProposalHash = *abi.ConvertType(out[8], new([32]byte)).(*[32]byte)
|
||||
return *outstruct, err
|
||||
|
|
@ -416,7 +418,7 @@ func (dAO *DAO) PackTransferOwnership(newOwner common.Address) []byte {
|
|||
// the contract method with ID 0xd3c0715b.
|
||||
//
|
||||
// Solidity: function vote(uint256 proposalNumber, bool supportsProposal, string justificationText) returns(uint256 voteID)
|
||||
func (dAO *DAO) PackVote(proposalNumber *big.Int, supportsProposal bool, justificationText string) []byte {
|
||||
func (dAO *DAO) PackVote(proposalNumber *uint256.Int, supportsProposal bool, justificationText string) []byte {
|
||||
enc, err := dAO.abi.Pack("vote", proposalNumber, supportsProposal, justificationText)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -428,19 +430,19 @@ func (dAO *DAO) PackVote(proposalNumber *big.Int, supportsProposal bool, justifi
|
|||
// from invoking the contract method with ID 0xd3c0715b.
|
||||
//
|
||||
// Solidity: function vote(uint256 proposalNumber, bool supportsProposal, string justificationText) returns(uint256 voteID)
|
||||
func (dAO *DAO) UnpackVote(data []byte) (*big.Int, error) {
|
||||
func (dAO *DAO) UnpackVote(data []byte) (*uint256.Int, error) {
|
||||
out, err := dAO.abi.Unpack("vote", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
// DAOChangeOfRules represents a ChangeOfRules event raised by the DAO contract.
|
||||
type DAOChangeOfRules struct {
|
||||
MinimumQuorum *big.Int
|
||||
DebatingPeriodInMinutes *big.Int
|
||||
MinimumQuorum *uint256.Int
|
||||
DebatingPeriodInMinutes *uint256.Int
|
||||
MajorityMargin *big.Int
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
|
@ -524,9 +526,9 @@ func (dAO *DAO) UnpackMembershipChangedEvent(log *types.Log) (*DAOMembershipChan
|
|||
|
||||
// DAOProposalAdded represents a ProposalAdded event raised by the DAO contract.
|
||||
type DAOProposalAdded struct {
|
||||
ProposalID *big.Int
|
||||
ProposalID *uint256.Int
|
||||
Recipient common.Address
|
||||
Amount *big.Int
|
||||
Amount *uint256.Int
|
||||
Description string
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
|
@ -568,9 +570,9 @@ func (dAO *DAO) UnpackProposalAddedEvent(log *types.Log) (*DAOProposalAdded, err
|
|||
|
||||
// DAOProposalTallied represents a ProposalTallied event raised by the DAO contract.
|
||||
type DAOProposalTallied struct {
|
||||
ProposalID *big.Int
|
||||
ProposalID *uint256.Int
|
||||
Result *big.Int
|
||||
Quorum *big.Int
|
||||
Quorum *uint256.Int
|
||||
Active bool
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
|
@ -612,7 +614,7 @@ func (dAO *DAO) UnpackProposalTalliedEvent(log *types.Log) (*DAOProposalTallied,
|
|||
|
||||
// DAOVoted represents a Voted event raised by the DAO contract.
|
||||
type DAOVoted struct {
|
||||
ProposalID *big.Int
|
||||
ProposalID *uint256.Int
|
||||
Position bool
|
||||
Voter common.Address
|
||||
Justification string
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// DeeplyNestedArrayMetaData contains all meta data concerning the DeeplyNestedArray contract.
|
||||
|
|
@ -55,7 +57,7 @@ func (c *DeeplyNestedArray) Instance(backend bind.ContractBackend, addr common.A
|
|||
// the contract method with ID 0x98ed1856.
|
||||
//
|
||||
// Solidity: function deepUint64Array(uint256 , uint256 , uint256 ) view returns(uint64)
|
||||
func (deeplyNestedArray *DeeplyNestedArray) PackDeepUint64Array(arg0 *big.Int, arg1 *big.Int, arg2 *big.Int) []byte {
|
||||
func (deeplyNestedArray *DeeplyNestedArray) PackDeepUint64Array(arg0 *uint256.Int, arg1 *uint256.Int, arg2 *uint256.Int) []byte {
|
||||
enc, err := deeplyNestedArray.abi.Pack("deepUint64Array", arg0, arg1, arg2)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
|
|||
2
accounts/abi/abigen/testdata/v2/empty.go.txt
vendored
2
accounts/abi/abigen/testdata/v2/empty.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// EmptyMetaData contains all meta data concerning the Empty contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// EventCheckerMetaData contains all meta data concerning the EventChecker contract.
|
||||
|
|
@ -220,8 +222,8 @@ func (eventChecker *EventChecker) UnpackMixedEvent(log *types.Log) (*EventChecke
|
|||
|
||||
// EventCheckerUnnamed represents a unnamed event raised by the EventChecker contract.
|
||||
type EventCheckerUnnamed struct {
|
||||
Arg0 *big.Int
|
||||
Arg1 *big.Int
|
||||
Arg0 *uint256.Int
|
||||
Arg1 *uint256.Int
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// GetterMetaData contains all meta data concerning the Getter contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// IdentifierCollisionMetaData contains all meta data concerning the IdentifierCollision contract.
|
||||
|
|
@ -67,12 +69,12 @@ func (identifierCollision *IdentifierCollision) PackMyVar() []byte {
|
|||
// from invoking the contract method with ID 0x4ef1f0ad.
|
||||
//
|
||||
// Solidity: function MyVar() view returns(uint256)
|
||||
func (identifierCollision *IdentifierCollision) UnpackMyVar(data []byte) (*big.Int, error) {
|
||||
func (identifierCollision *IdentifierCollision) UnpackMyVar(data []byte) (*uint256.Int, error) {
|
||||
out, err := identifierCollision.abi.Unpack("MyVar", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -92,11 +94,11 @@ func (identifierCollision *IdentifierCollision) PackPubVar() []byte {
|
|||
// from invoking the contract method with ID 0x01ad4d87.
|
||||
//
|
||||
// Solidity: function _myVar() view returns(uint256)
|
||||
func (identifierCollision *IdentifierCollision) UnpackPubVar(data []byte) (*big.Int, error) {
|
||||
func (identifierCollision *IdentifierCollision) UnpackPubVar(data []byte) (*uint256.Int, error) {
|
||||
out, err := identifierCollision.abi.Unpack("_myVar", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// InputCheckerMetaData contains all meta data concerning the InputChecker contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// InteractorMetaData contains all meta data concerning the Interactor contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// Oraclerequest is an auto generated low-level Go binding around an user-defined struct.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// NumericMethodNameMetaData contains all meta data concerning the NumericMethodName contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// OutputCheckerMetaData contains all meta data concerning the OutputChecker contract.
|
||||
|
|
|
|||
12
accounts/abi/abigen/testdata/v2/overload.go.txt
vendored
12
accounts/abi/abigen/testdata/v2/overload.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// OverloadMetaData contains all meta data concerning the Overload contract.
|
||||
|
|
@ -55,7 +57,7 @@ func (c *Overload) Instance(backend bind.ContractBackend, addr common.Address) *
|
|||
// the contract method with ID 0x04bc52f8.
|
||||
//
|
||||
// Solidity: function foo(uint256 i, uint256 j) returns()
|
||||
func (overload *Overload) PackFoo(i *big.Int, j *big.Int) []byte {
|
||||
func (overload *Overload) PackFoo(i *uint256.Int, j *uint256.Int) []byte {
|
||||
enc, err := overload.abi.Pack("foo", i, j)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -67,7 +69,7 @@ func (overload *Overload) PackFoo(i *big.Int, j *big.Int) []byte {
|
|||
// the contract method with ID 0x2fbebd38.
|
||||
//
|
||||
// Solidity: function foo(uint256 i) returns()
|
||||
func (overload *Overload) PackFoo0(i *big.Int) []byte {
|
||||
func (overload *Overload) PackFoo0(i *uint256.Int) []byte {
|
||||
enc, err := overload.abi.Pack("foo0", i)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -77,7 +79,7 @@ func (overload *Overload) PackFoo0(i *big.Int) []byte {
|
|||
|
||||
// OverloadBar represents a bar event raised by the Overload contract.
|
||||
type OverloadBar struct {
|
||||
I *big.Int
|
||||
I *uint256.Int
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
||||
|
|
@ -118,8 +120,8 @@ func (overload *Overload) UnpackBarEvent(log *types.Log) (*OverloadBar, error) {
|
|||
|
||||
// OverloadBar0 represents a bar0 event raised by the Overload contract.
|
||||
type OverloadBar0 struct {
|
||||
I *big.Int
|
||||
J *big.Int
|
||||
I *uint256.Int
|
||||
J *uint256.Int
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// RangeKeywordMetaData contains all meta data concerning the RangeKeyword contract.
|
||||
|
|
@ -55,7 +57,7 @@ func (c *RangeKeyword) Instance(backend bind.ContractBackend, addr common.Addres
|
|||
// the contract method with ID 0x527a119f.
|
||||
//
|
||||
// Solidity: function functionWithKeywordParameter(uint256 range) pure returns()
|
||||
func (rangeKeyword *RangeKeyword) PackFunctionWithKeywordParameter(arg0 *big.Int) []byte {
|
||||
func (rangeKeyword *RangeKeyword) PackFunctionWithKeywordParameter(arg0 *uint256.Int) []byte {
|
||||
enc, err := rangeKeyword.abi.Pack("functionWithKeywordParameter", arg0)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
|
|||
10
accounts/abi/abigen/testdata/v2/slicer.go.txt
vendored
10
accounts/abi/abigen/testdata/v2/slicer.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// SlicerMetaData contains all meta data concerning the Slicer contract.
|
||||
|
|
@ -105,7 +107,7 @@ func (slicer *Slicer) UnpackEchoBools(data []byte) ([]bool, error) {
|
|||
// the contract method with ID 0xd88becc0.
|
||||
//
|
||||
// Solidity: function echoFancyInts(uint24[23] input) returns(uint24[23] output)
|
||||
func (slicer *Slicer) PackEchoFancyInts(input [23]*big.Int) []byte {
|
||||
func (slicer *Slicer) PackEchoFancyInts(input [23]*uint256.Int) []byte {
|
||||
enc, err := slicer.abi.Pack("echoFancyInts", input)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -117,12 +119,12 @@ func (slicer *Slicer) PackEchoFancyInts(input [23]*big.Int) []byte {
|
|||
// from invoking the contract method with ID 0xd88becc0.
|
||||
//
|
||||
// Solidity: function echoFancyInts(uint24[23] input) returns(uint24[23] output)
|
||||
func (slicer *Slicer) UnpackEchoFancyInts(data []byte) ([23]*big.Int, error) {
|
||||
func (slicer *Slicer) UnpackEchoFancyInts(data []byte) ([23]*uint256.Int, error) {
|
||||
out, err := slicer.abi.Unpack("echoFancyInts", data)
|
||||
if err != nil {
|
||||
return *new([23]*big.Int), err
|
||||
return *new([23]*uint256.Int), err
|
||||
}
|
||||
out0 := *abi.ConvertType(out[0], new([23]*big.Int)).(*[23]*big.Int)
|
||||
out0 := *abi.ConvertType(out[0], new([23]*uint256.Int)).(*[23]*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// Struct0 is an auto generated low-level Go binding around an user-defined struct.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// Struct0 is an auto generated low-level Go binding around an user-defined struct.
|
||||
|
|
@ -72,7 +74,7 @@ func (structs *Structs) PackF() []byte {
|
|||
// method F.
|
||||
type FOutput struct {
|
||||
A []Struct0
|
||||
C []*big.Int
|
||||
C []*uint256.Int
|
||||
D []bool
|
||||
}
|
||||
|
||||
|
|
@ -87,7 +89,7 @@ func (structs *Structs) UnpackF(data []byte) (FOutput, error) {
|
|||
return *outstruct, err
|
||||
}
|
||||
outstruct.A = *abi.ConvertType(out[0], new([]Struct0)).(*[]Struct0)
|
||||
outstruct.C = *abi.ConvertType(out[1], new([]*big.Int)).(*[]*big.Int)
|
||||
outstruct.C = *abi.ConvertType(out[1], new([]*uint256.Int)).(*[]*uint256.Int)
|
||||
outstruct.D = *abi.ConvertType(out[2], new([]bool)).(*[]bool)
|
||||
return *outstruct, err
|
||||
|
||||
|
|
|
|||
30
accounts/abi/abigen/testdata/v2/token.go.txt
vendored
30
accounts/abi/abigen/testdata/v2/token.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// TokenMetaData contains all meta data concerning the Token contract.
|
||||
|
|
@ -55,7 +57,7 @@ func (c *Token) Instance(backend bind.ContractBackend, addr common.Address) *bin
|
|||
// contract deployment.
|
||||
//
|
||||
// Solidity: constructor(uint256 initialSupply, string tokenName, uint8 decimalUnits, string tokenSymbol) returns()
|
||||
func (token *Token) PackConstructor(initialSupply *big.Int, tokenName string, decimalUnits uint8, tokenSymbol string) []byte {
|
||||
func (token *Token) PackConstructor(initialSupply *uint256.Int, tokenName string, decimalUnits uint8, tokenSymbol string) []byte {
|
||||
enc, err := token.abi.Pack("", initialSupply, tokenName, decimalUnits, tokenSymbol)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -79,12 +81,12 @@ func (token *Token) PackAllowance(arg0 common.Address, arg1 common.Address) []by
|
|||
// from invoking the contract method with ID 0xdd62ed3e.
|
||||
//
|
||||
// Solidity: function allowance(address , address ) returns(uint256)
|
||||
func (token *Token) UnpackAllowance(data []byte) (*big.Int, error) {
|
||||
func (token *Token) UnpackAllowance(data []byte) (*uint256.Int, error) {
|
||||
out, err := token.abi.Unpack("allowance", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -92,7 +94,7 @@ func (token *Token) UnpackAllowance(data []byte) (*big.Int, error) {
|
|||
// the contract method with ID 0xcae9ca51.
|
||||
//
|
||||
// Solidity: function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns(bool success)
|
||||
func (token *Token) PackApproveAndCall(spender common.Address, value *big.Int, extraData []byte) []byte {
|
||||
func (token *Token) PackApproveAndCall(spender common.Address, value *uint256.Int, extraData []byte) []byte {
|
||||
enc, err := token.abi.Pack("approveAndCall", spender, value, extraData)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -129,12 +131,12 @@ func (token *Token) PackBalanceOf(arg0 common.Address) []byte {
|
|||
// from invoking the contract method with ID 0x70a08231.
|
||||
//
|
||||
// Solidity: function balanceOf(address ) returns(uint256)
|
||||
func (token *Token) UnpackBalanceOf(data []byte) (*big.Int, error) {
|
||||
func (token *Token) UnpackBalanceOf(data []byte) (*uint256.Int, error) {
|
||||
out, err := token.abi.Unpack("balanceOf", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -204,12 +206,12 @@ func (token *Token) PackSpentAllowance(arg0 common.Address, arg1 common.Address)
|
|||
// from invoking the contract method with ID 0xdc3080f2.
|
||||
//
|
||||
// Solidity: function spentAllowance(address , address ) returns(uint256)
|
||||
func (token *Token) UnpackSpentAllowance(data []byte) (*big.Int, error) {
|
||||
func (token *Token) UnpackSpentAllowance(data []byte) (*uint256.Int, error) {
|
||||
out, err := token.abi.Unpack("spentAllowance", data)
|
||||
if err != nil {
|
||||
return new(big.Int), err
|
||||
return new(uint256.Int), err
|
||||
}
|
||||
out0 := abi.ConvertType(out[0], new(big.Int)).(*big.Int)
|
||||
out0 := abi.ConvertType(out[0], new(uint256.Int)).(*uint256.Int)
|
||||
return out0, err
|
||||
}
|
||||
|
||||
|
|
@ -242,7 +244,7 @@ func (token *Token) UnpackSymbol(data []byte) (string, error) {
|
|||
// the contract method with ID 0xa9059cbb.
|
||||
//
|
||||
// Solidity: function transfer(address _to, uint256 _value) returns()
|
||||
func (token *Token) PackTransfer(to common.Address, value *big.Int) []byte {
|
||||
func (token *Token) PackTransfer(to common.Address, value *uint256.Int) []byte {
|
||||
enc, err := token.abi.Pack("transfer", to, value)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -254,7 +256,7 @@ func (token *Token) PackTransfer(to common.Address, value *big.Int) []byte {
|
|||
// the contract method with ID 0x23b872dd.
|
||||
//
|
||||
// Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success)
|
||||
func (token *Token) PackTransferFrom(from common.Address, to common.Address, value *big.Int) []byte {
|
||||
func (token *Token) PackTransferFrom(from common.Address, to common.Address, value *uint256.Int) []byte {
|
||||
enc, err := token.abi.Pack("transferFrom", from, to, value)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -279,7 +281,7 @@ func (token *Token) UnpackTransferFrom(data []byte) (bool, error) {
|
|||
type TokenTransfer struct {
|
||||
From common.Address
|
||||
To common.Address
|
||||
Value *big.Int
|
||||
Value *uint256.Int
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
||||
|
|
|
|||
20
accounts/abi/abigen/testdata/v2/tuple.go.txt
vendored
20
accounts/abi/abigen/testdata/v2/tuple.go.txt
vendored
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// TupleP is an auto generated low-level Go binding around an user-defined struct.
|
||||
|
|
@ -38,15 +40,15 @@ type TupleQ struct {
|
|||
|
||||
// TupleS is an auto generated low-level Go binding around an user-defined struct.
|
||||
type TupleS struct {
|
||||
A *big.Int
|
||||
B []*big.Int
|
||||
A *uint256.Int
|
||||
B []*uint256.Int
|
||||
C []TupleT
|
||||
}
|
||||
|
||||
// TupleT is an auto generated low-level Go binding around an user-defined struct.
|
||||
type TupleT struct {
|
||||
X *big.Int
|
||||
Y *big.Int
|
||||
X *uint256.Int
|
||||
Y *uint256.Int
|
||||
}
|
||||
|
||||
// TupleMetaData contains all meta data concerning the Tuple contract.
|
||||
|
|
@ -80,7 +82,7 @@ func (c *Tuple) Instance(backend bind.ContractBackend, addr common.Address) *bin
|
|||
// the contract method with ID 0x443c79b4.
|
||||
//
|
||||
// Solidity: function func1((uint256,uint256[],(uint256,uint256)[]) a, (uint256,uint256)[2][] b, (uint256,uint256)[][2] c, (uint256,uint256[],(uint256,uint256)[])[] d, uint256[] e) pure returns((uint256,uint256[],(uint256,uint256)[]), (uint256,uint256)[2][], (uint256,uint256)[][2], (uint256,uint256[],(uint256,uint256)[])[], uint256[])
|
||||
func (tuple *Tuple) PackFunc1(a TupleS, b [][2]TupleT, c [2][]TupleT, d []TupleS, e []*big.Int) []byte {
|
||||
func (tuple *Tuple) PackFunc1(a TupleS, b [][2]TupleT, c [2][]TupleT, d []TupleS, e []*uint256.Int) []byte {
|
||||
enc, err := tuple.abi.Pack("func1", a, b, c, d, e)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -95,7 +97,7 @@ type Func1Output struct {
|
|||
Arg1 [][2]TupleT
|
||||
Arg2 [2][]TupleT
|
||||
Arg3 []TupleS
|
||||
Arg4 []*big.Int
|
||||
Arg4 []*uint256.Int
|
||||
}
|
||||
|
||||
// UnpackFunc1 is the Go binding that unpacks the parameters returned
|
||||
|
|
@ -112,7 +114,7 @@ func (tuple *Tuple) UnpackFunc1(data []byte) (Func1Output, error) {
|
|||
outstruct.Arg1 = *abi.ConvertType(out[1], new([][2]TupleT)).(*[][2]TupleT)
|
||||
outstruct.Arg2 = *abi.ConvertType(out[2], new([2][]TupleT)).(*[2][]TupleT)
|
||||
outstruct.Arg3 = *abi.ConvertType(out[3], new([]TupleS)).(*[]TupleS)
|
||||
outstruct.Arg4 = *abi.ConvertType(out[4], new([]*big.Int)).(*[]*big.Int)
|
||||
outstruct.Arg4 = *abi.ConvertType(out[4], new([]*uint256.Int)).(*[]*uint256.Int)
|
||||
return *outstruct, err
|
||||
|
||||
}
|
||||
|
|
@ -121,7 +123,7 @@ func (tuple *Tuple) UnpackFunc1(data []byte) (Func1Output, error) {
|
|||
// the contract method with ID 0xd0062cdd.
|
||||
//
|
||||
// Solidity: function func2((uint256,uint256[],(uint256,uint256)[]) a, (uint256,uint256)[2][] b, (uint256,uint256)[][2] c, (uint256,uint256[],(uint256,uint256)[])[] d, uint256[] e) returns()
|
||||
func (tuple *Tuple) PackFunc2(a TupleS, b [][2]TupleT, c [2][]TupleT, d []TupleS, e []*big.Int) []byte {
|
||||
func (tuple *Tuple) PackFunc2(a TupleS, b [][2]TupleT, c [2][]TupleT, d []TupleS, e []*uint256.Int) []byte {
|
||||
enc, err := tuple.abi.Pack("func2", a, b, c, d, e)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -147,7 +149,7 @@ type TupleTupleEvent struct {
|
|||
B [][2]TupleT
|
||||
C [2][]TupleT
|
||||
D []TupleS
|
||||
E []*big.Int
|
||||
E []*uint256.Int
|
||||
Raw *types.Log // Blockchain specific contextual infos
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// TuplerMetaData contains all meta data concerning the Tupler contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// UnderscorerMetaData contains all meta data concerning the Underscorer contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// DBStats is an auto generated low-level Go binding around an user-defined struct.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// CMetaData contains all meta data concerning the C contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// C1MetaData contains all meta data concerning the C1 contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// CMetaData contains all meta data concerning the C contract.
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
@ -22,6 +23,7 @@ var (
|
|||
_ = common.Big1
|
||||
_ = types.BloomLookup
|
||||
_ = abi.ConvertType
|
||||
_ = uint256.NewInt
|
||||
)
|
||||
|
||||
// MyContractMetaData contains all meta data concerning the MyContract contract.
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import (
|
|||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/common/math"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// packBytesSlice packs the given bytes as [L, V] as the canonical representation
|
||||
|
|
@ -78,6 +79,9 @@ func packNum(value reflect.Value) []byte {
|
|||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||
return math.U256Bytes(big.NewInt(value.Int()))
|
||||
case reflect.Ptr:
|
||||
if v, ok := value.Interface().(*uint256.Int); ok {
|
||||
return math.U256Bytes(v.ToBig())
|
||||
}
|
||||
return math.U256Bytes(new(big.Int).Set(value.Interface().(*big.Int)))
|
||||
default:
|
||||
panic("abi: fatal error")
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ import (
|
|||
"math/big"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// ConvertType converts an interface of a runtime type into an interface of the
|
||||
|
|
@ -51,9 +53,9 @@ func ConvertType(in interface{}, proto interface{}) interface{} {
|
|||
}
|
||||
|
||||
// indirect recursively dereferences the value until it either gets the value
|
||||
// or finds a big.Int
|
||||
// or finds a big.Int or uint256.Int
|
||||
func indirect(v reflect.Value) reflect.Value {
|
||||
if v.Kind() == reflect.Ptr && v.Elem().Type() != reflect.TypeOf(big.Int{}) {
|
||||
if v.Kind() == reflect.Ptr && v.Elem().Type() != reflect.TypeOf(big.Int{}) && v.Elem().Type() != reflect.TypeOf(uint256.Int{}) {
|
||||
return indirect(v.Elem())
|
||||
}
|
||||
return v
|
||||
|
|
@ -73,6 +75,7 @@ func reflectIntType(unsigned bool, size int) reflect.Type {
|
|||
case 64:
|
||||
return reflect.TypeOf(uint64(0))
|
||||
}
|
||||
return reflect.TypeOf(&uint256.Int{})
|
||||
}
|
||||
switch size {
|
||||
case 8:
|
||||
|
|
@ -104,7 +107,7 @@ func set(dst, src reflect.Value) error {
|
|||
switch {
|
||||
case dstType.Kind() == reflect.Interface && dst.Elem().IsValid() && (dst.Elem().Type().Kind() == reflect.Ptr || dst.Elem().CanSet()):
|
||||
return set(dst.Elem(), src)
|
||||
case dstType.Kind() == reflect.Ptr && dstType.Elem() != reflect.TypeOf(big.Int{}):
|
||||
case dstType.Kind() == reflect.Ptr && dstType.Elem() != reflect.TypeOf(big.Int{}) && dstType.Elem() != reflect.TypeOf(uint256.Int{}):
|
||||
return set(dst.Elem(), src)
|
||||
case srcType.AssignableTo(dstType) && dst.CanSet():
|
||||
dst.Set(src)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import (
|
|||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/common/math"
|
||||
"github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
// MakeTopics converts a filter query argument list into a filter topic set.
|
||||
|
|
@ -43,6 +44,8 @@ func MakeTopics(query ...[]interface{}) ([][]common.Hash, error) {
|
|||
copy(topic[common.HashLength-common.AddressLength:], rule[:])
|
||||
case *big.Int:
|
||||
copy(topic[:], math.U256Bytes(new(big.Int).Set(rule)))
|
||||
case *uint256.Int:
|
||||
copy(topic[:], math.U256Bytes(rule.ToBig()))
|
||||
case bool:
|
||||
if rule {
|
||||
topic[common.HashLength-1] = 1
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import (
|
|||
"reflect"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/holiman/uint256"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
@ -36,9 +37,10 @@ var (
|
|||
|
||||
// ReadInteger reads the integer based on its kind and returns the appropriate value.
|
||||
func ReadInteger(typ Type, b []byte) (interface{}, error) {
|
||||
ret := new(big.Int).SetBytes(b)
|
||||
|
||||
if typ.T == UintTy {
|
||||
ret := new(uint256.Int).SetBytes(b)
|
||||
|
||||
u64, isu64 := ret.Uint64(), ret.IsUint64()
|
||||
switch typ.Size {
|
||||
case 8:
|
||||
|
|
@ -67,6 +69,8 @@ func ReadInteger(typ Type, b []byte) (interface{}, error) {
|
|||
}
|
||||
}
|
||||
|
||||
ret := new(big.Int).SetBytes(b)
|
||||
|
||||
// big.SetBytes can't tell if a number is negative or positive in itself.
|
||||
// On EVM, if the returned number > max int256, it is negative.
|
||||
// A number is > max int256 if the bit at position 255 is set.
|
||||
|
|
|
|||
Loading…
Reference in a new issue