github.com/ChainSafe/chainbridge-core@v1.4.2/chains/evm/calls/contracts/generic/genericHandler.go (about)

     1  package generic
     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 GenericHandlerContract struct {
    14  	contracts.Contract
    15  }
    16  
    17  func NewGenericHandlerContract(
    18  	client calls.ContractCallerDispatcher,
    19  	assetStoreContractAddress common.Address,
    20  	transactor transactor.Transactor,
    21  ) *GenericHandlerContract {
    22  	a, _ := abi.JSON(strings.NewReader(consts.GenericHandlerABI))
    23  	b := common.FromHex(consts.GenericHandlerBin)
    24  	return &GenericHandlerContract{contracts.NewContract(assetStoreContractAddress, a, b, client, transactor)}
    25  }