github.com/ChainSafe/chainbridge-core@v1.4.2/chains/evm/calls/contracts/erc20/erc20Handler.go (about) 1 package erc20 2 3 import ( 4 "github.com/ChainSafe/chainbridge-core/chains/evm/calls" 5 "github.com/ChainSafe/chainbridge-core/chains/evm/calls/consts" 6 "github.com/ChainSafe/chainbridge-core/chains/evm/calls/contracts" 7 "github.com/ChainSafe/chainbridge-core/chains/evm/calls/transactor" 8 "github.com/ethereum/go-ethereum/accounts/abi" 9 "github.com/ethereum/go-ethereum/common" 10 "strings" 11 ) 12 13 type ERC20HandlerContract struct { 14 contracts.Contract 15 } 16 17 func NewERC20HandlerContract( 18 client calls.ContractCallerDispatcher, 19 erc20HandlerContractAddress common.Address, 20 t transactor.Transactor, 21 ) *ERC20HandlerContract { 22 a, _ := abi.JSON(strings.NewReader(consts.ERC20HandlerABI)) 23 b := common.FromHex(consts.ERC20HandlerBin) 24 return &ERC20HandlerContract{contracts.NewContract(erc20HandlerContractAddress, a, b, client, t)} 25 }