github.com/status-im/status-go@v1.1.0/contracts/balancechecker/address.go (about)

     1  package balancechecker
     2  
     3  import (
     4  	"errors"
     5  
     6  	"github.com/ethereum/go-ethereum/common"
     7  )
     8  
     9  var errorNotAvailableOnChainID = errors.New("BalanceChecker not available for chainID")
    10  
    11  var contractDataByChainID = map[uint64]common.Address{
    12  	1:        common.HexToAddress("0x040EA8bFE441597849A9456182fa46D38B75BC05"), // mainnet
    13  	10:       common.HexToAddress("0x55bD303eA3D50FC982A8a5b43972d7f38D129bbF"), // optimism
    14  	42161:    common.HexToAddress("0x54764eF12d29b249fDC7FC3caDc039955A396A8e"), // arbitrum
    15  	5:        common.HexToAddress("0xA5522A3194B78Dd231b64d0ccd6deA6156DCa7C8"), // goerli
    16  	421613:   common.HexToAddress("0x54764eF12d29b249fDC7FC3caDc039955A396A8e"), // goerli arbitrum
    17  	420:      common.HexToAddress("0x55bD303eA3D50FC982A8a5b43972d7f38D129bbF"), // goerli optimism
    18  	11155111: common.HexToAddress("0x55bD303eA3D50FC982A8a5b43972d7f38D129bbF"), // sepolia
    19  	421614:   common.HexToAddress("0x54764eF12d29b249fDC7FC3caDc039955A396A8e"), // sepolia arbitrum
    20  	11155420: common.HexToAddress("0x55bD303eA3D50FC982A8a5b43972d7f38D129bbF"), // sepolia optimism
    21  	777333:   common.HexToAddress("0x0000000000000000000000000000000010777333"), // unit tests
    22  }
    23  
    24  func ContractAddress(chainID uint64) (common.Address, error) {
    25  	contract, exists := contractDataByChainID[chainID]
    26  	if !exists {
    27  		return *new(common.Address), errorNotAvailableOnChainID
    28  	}
    29  	return contract, nil
    30  }