export const poolTokenABI = [ { inputs: [], stateMutability: "nonpayable", type: "constructor" }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "tco2", type: "address", }, ], name: "AddFeeExemptedTCO2", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "previousAdmin", type: "address", }, { indexed: false, internalType: "address", name: "newAdmin", type: "address", }, ], name: "AdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, { indexed: true, internalType: "address", name: "spender", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Approval", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "methodology", type: "string", }, ], name: "AttributeMethodologyAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "methodology", type: "string", }, ], name: "AttributeMethodologyRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "region", type: "string", }, ], name: "AttributeRegionAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "region", type: "string", }, ], name: "AttributeRegionRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "standard", type: "string", }, ], name: "AttributeStandardAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "standard", type: "string", }, ], name: "AttributeStandardRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "beacon", type: "address", }, ], name: "BeaconUpgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20Addr", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "Deposited", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20addr", type: "address", }, ], name: "ExternalAddressRemovedFromWhitelist", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20addr", type: "address", }, ], name: "ExternalAddressWhitelisted", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20addr", type: "address", }, ], name: "InternalAddressBlacklisted", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20addr", type: "address", }, ], name: "InternalAddressRemovedFromBlackList", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20addr", type: "address", }, ], name: "InternalAddressRemovedFromWhitelist", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "erc20addr", type: "address", }, ], name: "InternalAddressWhitelisted", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "mappingName", type: "string", }, { indexed: false, internalType: "bool", name: "accepted", type: "bool", }, ], name: "MappingSwitched", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "minimumVintageStartTime", type: "uint256", }, ], name: "MinimumVintageStartTimeUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "previousOwner", type: "address", }, { indexed: true, internalType: "address", name: "newOwner", type: "address", }, ], name: "OwnershipTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Paused", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "redeemer", type: "address", }, { indexed: false, internalType: "uint256", name: "fees", type: "uint256", }, ], name: "RedeemFeeBurnt", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "redeemer", type: "address", }, { indexed: false, internalType: "uint256", name: "fees", type: "uint256", }, ], name: "RedeemFeePaid", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, { indexed: false, internalType: "address", name: "erc20", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "Redeemed", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "tco2", type: "address", }, ], name: "RemoveFeeExemptedTCO2", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "router", type: "address", }, ], name: "RouterUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "newCap", type: "uint256", }, ], name: "SupplyCapUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint32", name: "destinationDomain", type: "uint32", }, { indexed: true, internalType: "address", name: "tco2", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "TCO2Bridged", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address[]", name: "tco2s", type: "address[]", }, ], name: "TCO2ScoringUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "ContractRegistry", type: "address", }, ], name: "ToucanRegistrySet", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Transfer", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Unpaused", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "implementation", type: "address", }, ], name: "Upgraded", type: "event", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "MANAGER_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "PAUSER_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "VERSION", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "VERSION_RELEASE_CANDIDATE", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bool", name: "addToList", type: "bool", }, { internalType: "string[]", name: "_regions", type: "string[]", }, { internalType: "string[]", name: "_standards", type: "string[]", }, { internalType: "string[]", name: "_methodologies", type: "string[]", }, ], name: "addAttributes", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "addRedeemFeeExemptedAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_tco2", type: "address", }, ], name: "addRedeemFeeExemptedTCO2", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "erc20Addr", type: "address[]", }, ], name: "addToExternalWhiteList", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "erc20Addr", type: "address[]", }, ], name: "addToInternalBlackList", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "erc20Addr", type: "address[]", }, ], name: "addToInternalWhiteList", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "spender", type: "address", }, ], name: "allowance", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "approve", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_account", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "bridgeBurn", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_account", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "bridgeMint", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint32", name: "destinationDomain", type: "uint32", }, { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], name: "bridgeTCO2s", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], name: "calculateRedeemFees", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "erc20Addr", type: "address", }, ], name: "checkAttributeMatching", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "erc20Addr", type: "address", }, ], name: "checkEligible", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "contractRegistry", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "decimals", outputs: [ { internalType: "uint8", name: "", type: "uint8", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "subtractedValue", type: "uint256", }, ], name: "decreaseAllowance", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "erc20Addr", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "deposit", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "externalWhiteList", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "feeRedeemBurnAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "feeRedeemBurnPercentageInBase", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "feeRedeemDivider", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "feeRedeemPercentageInBase", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "feeRedeemReceiver", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getRemaining", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getScoredTCO2s", outputs: [ { internalType: "address[]", name: "", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "addedValue", type: "uint256", }, ], name: "increaseAllowance", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "internalBlackList", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "internalWhiteList", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "", type: "string", }, ], name: "methodologies", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "methodologiesIsAcceptedMapping", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "minimumVintageStartTime", outputs: [ { internalType: "uint64", name: "", type: "uint64", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "name", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "pause", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "paused", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "proxiableUUID", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "tco2", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "redeemAndBurn", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "redeemAuto", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "redeemAuto2", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "redeemFeeExemptedAddresses", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "redeemFeeExemptedTCO2s", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], name: "redeemMany", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "", type: "string", }, ], name: "regions", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "regionsIsAcceptedMapping", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address[]", name: "erc20Addr", type: "address[]", }, ], name: "removeFromExternalWhiteList", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "erc20Addr", type: "address[]", }, ], name: "removeFromInternalBlackList", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "erc20Addr", type: "address[]", }, ], name: "removeFromInternalWhiteList", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "removeRedeemFeeExemptedAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_tco2", type: "address", }, ], name: "removeRedeemFeeExemptedTCO2", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "router", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], name: "scoredTCO2s", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "seedMode", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_feeRedeemBurnAddress", type: "address", }, ], name: "setFeeRedeemBurnAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_feeRedeemBurnPercentageInBase", type: "uint256", }, ], name: "setFeeRedeemBurnPercentage", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_feeRedeemPercentageInBase", type: "uint256", }, ], name: "setFeeRedeemPercentage", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_feeRedeemReceiver", type: "address", }, ], name: "setFeeRedeemReceiver", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint64", name: "_minimumVintageStartTime", type: "uint64", }, ], name: "setMinimumVintageStartTime", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_router", type: "address", }, ], name: "setRouter", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "newCap", type: "uint256", }, ], name: "setSupplyCap", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, ], name: "setTCO2Scoring", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "setToucanContractRegistry", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "", type: "string", }, ], name: "standards", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "standardsIsAcceptedMapping", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "supplyCap", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4", }, ], name: "supportsInterface", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "_mappingName", type: "string", }, { internalType: "bool", name: "accepted", type: "bool", }, ], name: "switchMapping", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "symbol", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "tco2", type: "address", }, ], name: "tokenBalances", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "totalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "recipient", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transfer", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "sender", type: "address", }, { internalType: "address", name: "recipient", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transferFrom", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "unpause", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, ], name: "upgradeTo", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, { internalType: "bytes", name: "data", type: "bytes", }, ], name: "upgradeToAndCall", outputs: [], stateMutability: "payable", type: "function", }, ]; export const offsetHelperABI = [ { inputs: [ { internalType: "address[]", name: "_poolAddresses", type: "address[]", }, { internalType: "string[]", name: "_tokenSymbolsForPaths", type: "string[]", }, { internalType: "address[][]", name: "_paths", type: "address[][]", }, { internalType: "address", name: "_dexRouterAddress", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "previousOwner", type: "address", }, { indexed: true, internalType: "address", name: "newOwner", type: "address", }, ], name: "OwnershipTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "address", name: "poolToken", type: "address", }, { indexed: false, internalType: "address[]", name: "tco2s", type: "address[]", }, { indexed: false, internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], name: "Redeemed", type: "event", }, { stateMutability: "payable", type: "fallback", }, { inputs: [ { internalType: "string", name: "_tokenSymbol", type: "string", }, { internalType: "address[]", name: "_path", type: "address[]", }, ], name: "addPath", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, ], name: "addPoolToken", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, ], name: "autoOffsetExactInETH", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_amountToSwap", type: "uint256", }, ], name: "autoOffsetExactInToken", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_amountToOffset", type: "uint256", }, ], name: "autoOffsetExactOutETH", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_amountToOffset", type: "uint256", }, ], name: "autoOffsetExactOutToken", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_amountToOffset", type: "uint256", }, ], name: "autoOffsetPoolToken", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "autoRedeem", outputs: [ { internalType: "address[]", name: "tco2s", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "_tco2s", type: "address[]", }, { internalType: "uint256[]", name: "_amounts", type: "uint256[]", }, ], name: "autoRetire", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "address", name: "", type: "address", }, ], name: "balances", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_fromTokenAmount", type: "uint256", }, ], name: "calculateExpectedPoolTokenForETH", outputs: [ { internalType: "uint256", name: "amountOut", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_fromAmount", type: "uint256", }, ], name: "calculateExpectedPoolTokenForToken", outputs: [ { internalType: "uint256", name: "amountOut", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_toAmount", type: "uint256", }, ], name: "calculateNeededETHAmount", outputs: [ { internalType: "uint256", name: "amountIn", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_toAmount", type: "uint256", }, ], name: "calculateNeededTokenAmount", outputs: [ { internalType: "uint256", name: "amountIn", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_erc20Addr", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "deposit", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "dexRouterAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "eligibleSwapPaths", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "", type: "string", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "eligibleSwapPathsBySymbol", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_erc20Address", type: "address", }, ], name: "isERC20AddressEligible", outputs: [ { internalType: "address[]", name: "_path", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, ], name: "isPoolAddressEligible", outputs: [ { internalType: "bool", name: "_isEligible", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "paths", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], name: "poolAddresses", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "_tokenSymbol", type: "string", }, ], name: "removePath", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, ], name: "removePoolToken", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, ], name: "swapExactInETH", outputs: [ { internalType: "uint256", name: "amountOut", type: "uint256", }, ], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_fromAmount", type: "uint256", }, ], name: "swapExactInToken", outputs: [ { internalType: "uint256", name: "amountOut", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_toAmount", type: "uint256", }, ], name: "swapExactOutETH", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "_fromToken", type: "address", }, { internalType: "address", name: "_poolToken", type: "address", }, { internalType: "uint256", name: "_toAmount", type: "uint256", }, ], name: "swapExactOutToken", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], name: "tokenSymbolsForPaths", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_erc20Addr", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "withdraw", outputs: [], stateMutability: "nonpayable", type: "function", }, { stateMutability: "payable", type: "receive", }, ]; export const swapperABI = [ { inputs: [ { internalType: "address[][]", name: "_paths", type: "address[][]", }, { internalType: "address", name: "_swapToken", type: "address", }, { internalType: "address", name: "_dexRouterAddress", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { stateMutability: "payable", type: "fallback", }, { inputs: [ { internalType: "address", name: "_toToken", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "calculateNeededETHAmount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "dexRouterAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "eligibleSwapPaths", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_toToken", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, ], name: "swap", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [], name: "swapToken", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { stateMutability: "payable", type: "receive", }, ]; export const tco2ABI = [ { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, { indexed: true, internalType: "address", name: "spender", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Approval", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "bridger", type: "address", }, { indexed: false, internalType: "uint256", name: "fees", type: "uint256", }, ], name: "FeeBurnt", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "bridger", type: "address", }, { indexed: false, internalType: "uint256", name: "fees", type: "uint256", }, ], name: "FeePaid", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "eventId", type: "uint256", }, ], name: "Retired", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Transfer", type: "event", }, { inputs: [], name: "VERSION", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "spender", type: "address", }, ], name: "allowance", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "approve", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "bridgeBurn", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "bridgeMint", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "burnFrom", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "contractRegistry", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "decimals", outputs: [ { internalType: "uint8", name: "", type: "uint8", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "subtractedValue", type: "uint256", }, ], name: "decreaseAllowance", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "tokenId", type: "uint256", }, ], name: "defractionalize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getAttributes", outputs: [ { components: [ { internalType: "string", name: "projectId", type: "string", }, { internalType: "string", name: "standard", type: "string", }, { internalType: "string", name: "methodology", type: "string", }, { internalType: "string", name: "region", type: "string", }, { internalType: "string", name: "storageMethod", type: "string", }, { internalType: "string", name: "method", type: "string", }, { internalType: "string", name: "emissionType", type: "string", }, { internalType: "string", name: "category", type: "string", }, { internalType: "string", name: "uri", type: "string", }, { internalType: "address", name: "beneficiary", type: "address", }, ], internalType: "struct ProjectData", name: "", type: "tuple", }, { components: [ { internalType: "string", name: "name", type: "string", }, { internalType: "uint64", name: "startTime", type: "uint64", }, { internalType: "uint64", name: "endTime", type: "uint64", }, { internalType: "uint256", name: "projectTokenId", type: "uint256", }, { internalType: "uint64", name: "totalVintageQuantity", type: "uint64", }, { internalType: "bool", name: "isCorsiaCompliant", type: "bool", }, { internalType: "bool", name: "isCCPcompliant", type: "bool", }, { internalType: "string", name: "coBenefits", type: "string", }, { internalType: "string", name: "correspAdjustment", type: "string", }, { internalType: "string", name: "additionalCertification", type: "string", }, { internalType: "string", name: "uri", type: "string", }, ], internalType: "struct VintageData", name: "", type: "tuple", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getDepositCap", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getGlobalProjectVintageIdentifiers", outputs: [ { internalType: "string", name: "", type: "string", }, { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getRemaining", outputs: [ { internalType: "uint256", name: "remaining", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "addedValue", type: "uint256", }, ], name: "increaseAllowance", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "string", name: "symbol_", type: "string", }, { internalType: "uint256", name: "_projectVintageTokenId", type: "uint256", }, { internalType: "address", name: "_contractRegistry", type: "address", }, ], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "retiringEntityString", type: "string", }, { internalType: "address", name: "beneficiary", type: "address", }, { internalType: "string", name: "beneficiaryString", type: "string", }, { internalType: "string", name: "retirementMessage", type: "string", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "mintCertificateLegacy", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "minterToId", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "name", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "address", name: "from", type: "address", }, { internalType: "uint256", name: "tokenId", type: "uint256", }, { internalType: "bytes", name: "", type: "bytes", }, ], name: "onERC721Received", outputs: [ { internalType: "bytes4", name: "", type: "bytes4", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "projectVintageTokenId", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "retire", outputs: [ { internalType: "uint256", name: "retirementEventId", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "retiringEntityString", type: "string", }, { internalType: "address", name: "beneficiary", type: "address", }, { internalType: "string", name: "beneficiaryString", type: "string", }, { internalType: "string", name: "retirementMessage", type: "string", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "retireAndMintCertificate", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "retireFrom", outputs: [ { internalType: "uint256", name: "retirementEventId", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "retiredAmount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "symbol", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "totalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "recipient", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transfer", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "sender", type: "address", }, { internalType: "address", name: "recipient", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transferFrom", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, ]; export const toucanContractRegistryABI = [ { inputs: [], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "previousAdmin", type: "address", }, { indexed: false, internalType: "address", name: "newAdmin", type: "address", }, ], name: "AdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "beacon", type: "address", }, ], name: "BeaconUpgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "previousOwner", type: "address", }, { indexed: true, internalType: "address", name: "newOwner", type: "address", }, ], name: "OwnershipTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "implementation", type: "address", }, ], name: "Upgraded", type: "event", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "PAUSER_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "VERSION", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "addERC20", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "carbonOffsetBadgesAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "carbonOffsetBatchesAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "carbonProjectVintagesAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "carbonProjectsAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "checkERC20", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "pauseSystem", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "projectVintageERC20Registry", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "proxiableUUID", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "setCarbonOffsetBadgesAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "setCarbonOffsetBatchesAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "setCarbonProjectVintagesAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "setCarbonProjectsAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "setToucanCarbonOffsetsFactoryAddress", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4", }, ], name: "supportsInterface", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "toucanCarbonOffsetsFactoryAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "unpauseSystem", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, ], name: "upgradeTo", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, { internalType: "bytes", name: "data", type: "bytes", }, ], name: "upgradeToAndCall", outputs: [], stateMutability: "payable", type: "function", }, ]; export const ERC20ABI = [ { inputs: [ { internalType: "address", name: "childChainManager", type: "address" }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "addr2", type: "address", }, { indexed: true, internalType: "address", name: "spender", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Approval", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "userAddress", type: "address", }, { indexed: false, internalType: "address payable", name: "relayerAddress", type: "address", }, { indexed: false, internalType: "bytes", name: "functionSignature", type: "bytes", }, ], name: "MetaTransactionExecuted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32" }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32" }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32" }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address" }, { indexed: true, internalType: "address", name: "to", type: "address" }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Transfer", type: "event", }, { inputs: [], name: "CHILD_CHAIN_ID", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [], name: "CHILD_CHAIN_ID_BYTES", outputs: [{ internalType: "bytes", name: "", type: "bytes" }], stateMutability: "view", type: "function", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function", }, { inputs: [], name: "DEPOSITOR_ROLE", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function", }, { inputs: [], name: "ERC712_VERSION", outputs: [{ internalType: "string", name: "", type: "string" }], stateMutability: "view", type: "function", }, { inputs: [], name: "ROOT_CHAIN_ID", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [], name: "ROOT_CHAIN_ID_BYTES", outputs: [{ internalType: "bytes", name: "", type: "bytes" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "addr2", type: "address" }, { internalType: "address", name: "spender", type: "address" }, ], name: "allowance", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address" }, { internalType: "uint256", name: "amount", type: "uint256" }, ], name: "approve", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "nonpayable", type: "function", }, { inputs: [{ internalType: "address", name: "account", type: "address" }], name: "balanceOf", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [], name: "decimals", outputs: [{ internalType: "uint8", name: "", type: "uint8" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address" }, { internalType: "uint256", name: "subtractedValue", type: "uint256" }, ], name: "decreaseAllowance", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address" }, { internalType: "bytes", name: "depositData", type: "bytes" }, ], name: "deposit", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "userAddress", type: "address" }, { internalType: "bytes", name: "functionSignature", type: "bytes" }, { internalType: "bytes32", name: "sigR", type: "bytes32" }, { internalType: "bytes32", name: "sigS", type: "bytes32" }, { internalType: "uint8", name: "sigV", type: "uint8" }, ], name: "executeMetaTransaction", outputs: [{ internalType: "bytes", name: "", type: "bytes" }], stateMutability: "payable", type: "function", }, { inputs: [], name: "getChainId", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "pure", type: "function", }, { inputs: [], name: "getDomainSeperator", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function", }, { inputs: [{ internalType: "address", name: "user", type: "address" }], name: "getNonce", outputs: [{ internalType: "uint256", name: "nonce", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [{ internalType: "bytes32", name: "role", type: "bytes32" }], name: "getRoleAdmin", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32" }, { internalType: "uint256", name: "index", type: "uint256" }, ], name: "getRoleMember", outputs: [{ internalType: "address", name: "", type: "address" }], stateMutability: "view", type: "function", }, { inputs: [{ internalType: "bytes32", name: "role", type: "bytes32" }], name: "getRoleMemberCount", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32" }, { internalType: "address", name: "account", type: "address" }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32" }, { internalType: "address", name: "account", type: "address" }, ], name: "hasRole", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address" }, { internalType: "uint256", name: "addedValue", type: "uint256" }, ], name: "increaseAllowance", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "name", outputs: [{ internalType: "string", name: "", type: "string" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32" }, { internalType: "address", name: "account", type: "address" }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32" }, { internalType: "address", name: "account", type: "address" }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "symbol", outputs: [{ internalType: "string", name: "", type: "string" }], stateMutability: "view", type: "function", }, { inputs: [], name: "totalSupply", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "recipient", type: "address" }, { internalType: "uint256", name: "amount", type: "uint256" }, ], name: "transfer", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "sender", type: "address" }, { internalType: "address", name: "recipient", type: "address" }, { internalType: "uint256", name: "amount", type: "uint256" }, ], name: "transferFrom", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "nonpayable", type: "function", }, { inputs: [{ internalType: "uint256", name: "amount", type: "uint256" }], name: "withdraw", outputs: [], stateMutability: "nonpayable", type: "function", }, ];