diff --git a/package.json b/package.json index b24809c..e9e382c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@roninbuilders/contracts", - "version": "0.4.9", + "version": "0.4.10", "description": "Ronin Network Contracts", "main": "dist/index.cjs", "types": "dist/index.d.ts", diff --git a/src/contracts/commit_store.ts b/src/contracts/commit_store.ts index 053d35e..4df6c29 100644 --- a/src/contracts/commit_store.ts +++ b/src/contracts/commit_store.ts @@ -912,9 +912,9 @@ const abi = [ ] as const const COMMIT_STORE: Contract = { name: 'Commit Store', - address: '0xd154a8ce39b93098f3c55ffd94418def75b33627', + address: '0x28c66d9693b2634b2f3b170f6d9584eec2f72ff0', is_deprecated: false, - created_at: 1730713041, + created_at: 1733253150, abi: abi, } export default COMMIT_STORE diff --git a/src/contracts/erc20_staking_proxy.ts b/src/contracts/erc20_staking_proxy.ts index 2503a56..a25a8c3 100644 --- a/src/contracts/erc20_staking_proxy.ts +++ b/src/contracts/erc20_staking_proxy.ts @@ -4,148 +4,84 @@ const abi = [ inputs: [ { internalType: 'address', - name: 'implementation_', + name: 'beacon', type: 'address', }, { - internalType: 'address', - name: 'initialOwner', - type: 'address', + internalType: 'bytes', + name: 'data', + type: 'bytes', }, ], - stateMutability: 'nonpayable', + stateMutability: 'payable', type: 'constructor', }, { inputs: [ { internalType: 'address', - name: 'implementation', - type: 'address', - }, - ], - name: 'BeaconInvalidImplementation', - type: 'error', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', + name: 'target', type: 'address', }, ], - name: 'OwnableInvalidOwner', + name: 'AddressEmptyCode', type: 'error', }, { inputs: [ { internalType: 'address', - name: 'account', + name: 'beacon', type: 'address', }, ], - name: 'OwnableUnauthorizedAccount', + name: 'ERC1967InvalidBeacon', type: 'error', }, { - 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: 'address', name: 'implementation', type: 'address', }, ], - name: 'Upgraded', - type: 'event', - }, - { - inputs: [], - name: 'implementation', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', + name: 'ERC1967InvalidImplementation', + type: 'error', }, { inputs: [], - name: 'owner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', + name: 'ERC1967NonPayable', + type: 'error', }, { inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', + name: 'FailedInnerCall', + type: 'error', }, { + anonymous: false, inputs: [ { + indexed: true, internalType: 'address', - name: 'newOwner', + name: 'beacon', type: 'address', }, ], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', + name: 'BeaconUpgraded', + type: 'event', }, { - inputs: [ - { - internalType: 'address', - name: 'newImplementation', - type: 'address', - }, - ], - name: 'upgradeTo', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', + stateMutability: 'payable', + type: 'fallback', }, ] as const const ERC20_STAKING_PROXY: Contract = { name: 'ERC20 Staking Proxy', - address: '0xe870abf043c669c9e2a0c00712fc1e1742044a8b', + address: '0x61fc9e0524e2c6a5b193318d7fd1ce2b67797509', is_deprecated: false, - created_at: 1716206149, + created_at: 1718359578, abi: abi, } export default ERC20_STAKING_PROXY diff --git a/src/contracts/evm2_evm_off_ramp.ts b/src/contracts/evm2_evm_off_ramp.ts index cc40410..857465e 100644 --- a/src/contracts/evm2_evm_off_ramp.ts +++ b/src/contracts/evm2_evm_off_ramp.ts @@ -1642,9 +1642,9 @@ const abi = [ ] as const const EVM2_EVM_OFF_RAMP: Contract = { name: 'EVM2 EVM Off Ramp', - address: '0x320a10449556388503fd71d74a16ab52e0bd1deb', + address: '0x79dd7db8adebf6622852a5ace471a78edc6c0883', is_deprecated: false, - created_at: 1730713062, + created_at: 1733253165, abi: abi, } export default EVM2_EVM_OFF_RAMP diff --git a/src/contracts/evm2_evm_on_ramp.ts b/src/contracts/evm2_evm_on_ramp.ts index b921886..0b9e509 100644 --- a/src/contracts/evm2_evm_on_ramp.ts +++ b/src/contracts/evm2_evm_on_ramp.ts @@ -1862,9 +1862,9 @@ const abi = [ ] as const const EVM2_EVM_ON_RAMP: Contract = { name: 'EVM2 EVM On Ramp', - address: '0x02b60267bceeafdc45005e0fa0dd783efebc9f1b', + address: '0x261fe8a0c492a1ede8cf966aed16619c772198f5', is_deprecated: false, - created_at: 1730712915, + created_at: 1733253126, abi: abi, } export default EVM2_EVM_ON_RAMP diff --git a/src/contracts/genesis_heroes_721.ts b/src/contracts/genesis_heroes_721.ts index 35ac942..f904e32 100644 --- a/src/contracts/genesis_heroes_721.ts +++ b/src/contracts/genesis_heroes_721.ts @@ -404,7 +404,7 @@ const abi = [ type: 'uint256', }, ], - internalType: 'struct GenesisHeroes721.Heroes[]', + internalType: 'struct GenesisHeroes721.HeroZ[]', name: '', type: 'tuple[]', }, @@ -452,7 +452,7 @@ const abi = [ type: 'uint256', }, ], - name: 'getHeroes', + name: 'getHeroZ', outputs: [ { components: [ @@ -467,7 +467,7 @@ const abi = [ type: 'uint256', }, ], - internalType: 'struct GenesisHeroes721.Heroes', + internalType: 'struct GenesisHeroes721.HeroZ', name: '', type: 'tuple', }, @@ -483,7 +483,7 @@ const abi = [ type: 'address', }, ], - name: 'getHeroesList', + name: 'getHeroZList', outputs: [ { components: [ @@ -498,7 +498,7 @@ const abi = [ type: 'uint256', }, ], - internalType: 'struct GenesisHeroes721.Heroes[]', + internalType: 'struct GenesisHeroes721.HeroZ[]', name: '', type: 'tuple[]', }, @@ -628,7 +628,7 @@ const abi = [ type: 'uint256', }, ], - name: 'heroesMint', + name: 'heroZMint', outputs: [], stateMutability: 'nonpayable', type: 'function', @@ -1168,9 +1168,9 @@ const abi = [ ] as const const GENESIS_HEROES_721: Contract = { name: 'Genesis Heroes 721', - address: '0xa3bd4e86cd0ec20b03c9710359599c9f82f8fe9e', + address: '0x1f63754618cb33d811e8c1634f09b4edb313f3e8', is_deprecated: false, - created_at: 1728633766, + created_at: 1730742673, abi: abi, } export default GENESIS_HEROES_721 diff --git a/src/contracts/hero_v4.ts b/src/contracts/hero_v4.ts new file mode 100644 index 0000000..f09a78d --- /dev/null +++ b/src/contracts/hero_v4.ts @@ -0,0 +1,1722 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [], + name: 'ECDSAInvalidSignature', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'length', + type: 'uint256', + }, + ], + name: 'ECDSAInvalidSignatureLength', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 's', + type: 'bytes32', + }, + ], + name: 'ECDSAInvalidSignatureS', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'numerator', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'denominator', + type: 'uint256', + }, + ], + name: 'ERC2981InvalidDefaultRoyalty', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC2981InvalidDefaultRoyaltyReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'numerator', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'denominator', + type: 'uint256', + }, + ], + name: 'ERC2981InvalidTokenRoyalty', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC2981InvalidTokenRoyaltyReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC721IncorrectOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC721InsufficientApproval', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'approver', + type: 'address', + }, + ], + name: 'ERC721InvalidApprover', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'ERC721InvalidOperator', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC721InvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC721InvalidReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + ], + name: 'ERC721InvalidSender', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC721NonexistentToken', + type: 'error', + }, + { + inputs: [], + name: 'EnforcedPause', + type: 'error', + }, + { + inputs: [], + name: 'ExpectedPause', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + inputs: [], + name: 'InvalidInitialization', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'InvalidMinter', + type: 'error', + }, + { + inputs: [], + name: 'NotInitializing', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'OwnableInvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'OwnableUnauthorizedAccount', + type: 'error', + }, + { + inputs: [], + name: 'ReentrancyGuardReentrantCall', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidQuantity', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidRecipient', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidSigner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'startTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'endTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'actualTime', + type: 'uint256', + }, + ], + name: 'SignatureMintInvalidTime', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintUnauthorized', + type: 'error', + }, + { + inputs: [], + name: 'UUPSUnauthorizedCallContext', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'slot', + type: 'bytes32', + }, + ], + name: 'UUPSUnsupportedProxiableUUID', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'UnauthorizedMinter', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'AddBlack', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'approved', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'uri', + type: 'string', + }, + { + indexed: false, + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'BaseURIChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'EIP712DomainChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint64', + name: 'version', + type: 'uint64', + }, + ], + name: 'Initialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bool', + name: 'isLocked', + type: 'bool', + }, + { + indexed: false, + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'LockStatusChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'MinterAdded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'MinterRemoved', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + ], + name: 'NonceUpdated', + 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: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'RemoveBlack', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'approvedContract', + type: 'address', + }, + ], + name: 'TokenLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'approvedContract', + type: 'address', + }, + ], + name: 'TokenUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'signer', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'mintedTo', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenIdMinted', + type: 'uint256', + }, + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + indexed: false, + internalType: 'struct ISignatureMintERC721.MintRequest', + name: 'mintRequest', + type: 'tuple', + }, + ], + name: 'TokensMintedWithSignature', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'previous', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'current', + type: 'address', + }, + ], + name: 'TrustedForwarderChanged', + 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: 'UPGRADE_INTERFACE_VERSION', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: '_totalCounter', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'addBlackList', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'addMinter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'burnBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'contractURI', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'eip712Domain', + outputs: [ + { + internalType: 'bytes1', + name: 'fields', + type: 'bytes1', + }, + { + internalType: 'string', + name: 'name', + type: 'string', + }, + { + internalType: 'string', + name: 'version', + type: 'string', + }, + { + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'verifyingContract', + type: 'address', + }, + { + internalType: 'bytes32', + name: 'salt', + type: 'bytes32', + }, + { + internalType: 'uint256[]', + name: 'extensions', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'getApproved', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'name_', + type: 'string', + }, + { + internalType: 'string', + name: 'symbol_', + type: 'string', + }, + { + internalType: 'string', + name: 'baseURI_', + type: 'string', + }, + { + internalType: 'address', + name: 'minter_', + type: 'address', + }, + { + internalType: 'address', + name: 'trustedForwarder_', + type: 'address', + }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'isBlackToken', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'isMinter', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'isTokenLocked', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'forwarder', + type: 'address', + }, + ], + name: 'isTrustedForwarder', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + ], + name: 'lockTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'addressList', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + ], + name: 'mintAndLockBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'addressList', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'mintBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + internalType: 'struct ISignatureMintERC721.MintRequest', + name: '_req', + type: 'tuple', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'mintWithSignature', + outputs: [ + { + internalType: 'address', + name: 'signer', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'nonces', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ownerOf', + 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: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'removeBlackList', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'removeMinter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'salePrice', + type: 'uint256', + }, + ], + name: 'royaltyInfo', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'uint96', + name: 'feeNumerator', + type: 'uint96', + }, + ], + name: 'setDefaultRoyalty', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'trustedForwarder_', + type: 'address', + }, + ], + name: 'setTrustedForwarder', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'stateOf', + outputs: [ + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: 'interfaceId', + type: 'bytes4', + }, + ], + name: 'supportsInterface', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'tokenURI', + 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: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'trustedForwarder', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'unlockTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'unpause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'baseURI_', + type: 'string', + }, + ], + name: 'updateBaseURI', + 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', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + internalType: 'struct ISignatureMintERC721.MintRequest', + name: '_req', + type: 'tuple', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'verify', + outputs: [ + { + internalType: 'bool', + name: 'success', + type: 'bool', + }, + { + internalType: 'address', + name: 'signer', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'pure', + type: 'function', + }, +] as const +const HERO_V4: Contract = { + name: 'Hero V4', + address: '0x468fe85202c323ac138bdce6e78c7b41f1b639b4', + is_deprecated: false, + created_at: 1733753819, + abi: abi, +} +export default HERO_V4 diff --git a/src/contracts/hero_v4_proxy.ts b/src/contracts/hero_v4_proxy.ts new file mode 100644 index 0000000..855f0be --- /dev/null +++ b/src/contracts/hero_v4_proxy.ts @@ -0,0 +1,76 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, +] as const +const HERO_V4_PROXY: Contract = { + name: 'Hero V4 Proxy', + address: '0x924f2f3d25a3ee2902b601a21d4dd22cf5669d60', + is_deprecated: false, + created_at: 1729990038, + abi: abi, +} +export default HERO_V4_PROXY diff --git a/src/contracts/katana_v3_pool_proxy.ts b/src/contracts/katana_v3_pool_proxy.ts index a18dd9e..beb3123 100644 --- a/src/contracts/katana_v3_pool_proxy.ts +++ b/src/contracts/katana_v3_pool_proxy.ts @@ -1,136 +1,26 @@ import { Contract } from '@/contract' const abi = [ { - inputs: [ - { - internalType: 'address', - name: 'poolImplementation', - type: 'address', - }, - ], + inputs: [], stateMutability: 'nonpayable', type: 'constructor', }, - { - 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: 'address', - name: 'implementation', - type: 'address', - }, - ], - name: 'Upgraded', - type: 'event', - }, - { - inputs: [], - name: 'POOL_PROXY_INIT_CODE', - outputs: [ - { - internalType: 'bytes', - name: '', - type: 'bytes', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'POOL_PROXY_INIT_CODE_HASH', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, { inputs: [], - name: 'implementation', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', + stateMutability: 'payable', + type: 'fallback', }, { inputs: [], - name: 'owner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'transferOwnership', - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'newImplementation', - type: 'address', - }, - ], - name: 'upgradeTo', - stateMutability: 'nonpayable', - type: 'function', + stateMutability: 'payable', + type: 'receive', }, ] as const const KATANA_V3_POOL_PROXY: Contract = { name: 'Katana V3 Pool Proxy', - address: '0x4c4c0ae2fa6f117dc4a1f0495cbfc902e78cdf31', + address: '0x392d372f2a51610e9ac5b741379d5631ca9a1c7f', is_deprecated: false, - created_at: 1732163854, + created_at: 1732603221, abi: abi, } export default KATANA_V3_POOL_PROXY diff --git a/src/contracts/kdr.ts b/src/contracts/kdr.ts new file mode 100644 index 0000000..bc8a6bc --- /dev/null +++ b/src/contracts/kdr.ts @@ -0,0 +1,305 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_recipient', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + 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: 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: [ + { + 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: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + 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: '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: [], + 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: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, +] as const +const KDR: Contract = { + name: 'KDR', + address: '0xc6046fa4b8961b0e9d823bb3f2dde8fe161d547d', + is_deprecated: false, + created_at: 1733874997, + abi: abi, +} +export default KDR diff --git a/src/contracts/level_merge.ts b/src/contracts/level_merge.ts index 123e31d..96866f6 100644 --- a/src/contracts/level_merge.ts +++ b/src/contracts/level_merge.ts @@ -576,6 +576,19 @@ const abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'releaseMonster', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { @@ -760,9 +773,9 @@ const abi = [ ] as const const LEVEL_MERGE: Contract = { name: 'Level Merge', - address: '0x3c4752ba472d2da88ca86586f879dc32da72d336', + address: '0x711746ca3c515cd47bd754858b2e9a0108eb9e66', is_deprecated: false, - created_at: 1723600926, + created_at: 1725344255, abi: abi, } export default LEVEL_MERGE diff --git a/src/contracts/mana_vending_machine.ts b/src/contracts/mana_vending_machine.ts index 0ca255e..39f3593 100644 --- a/src/contracts/mana_vending_machine.ts +++ b/src/contracts/mana_vending_machine.ts @@ -5,6 +5,28 @@ const abi = [ stateMutability: 'nonpayable', type: 'constructor', }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'OwnableInvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'OwnableUnauthorizedAccount', + type: 'error', + }, { anonymous: false, inputs: [ @@ -36,23 +58,11 @@ const abi = [ { indexed: false, internalType: 'uint256[]', - name: 'quantities', + name: 'quantity', type: 'uint256[]', }, - { - indexed: false, - internalType: 'uint256', - name: 'totalEth', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'totalMana', - type: 'uint256', - }, ], - name: 'PurchasePackages', + name: 'PurchaseEvent', type: 'event', }, { @@ -76,12 +86,24 @@ const abi = [ type: 'address', }, ], - name: 'getManaBalance', + name: 'getBalances', outputs: [ { - internalType: 'uint256', + components: [ + { + internalType: 'uint256', + name: 'packageIndex', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + ], + internalType: 'struct ManaVendingMachine.Balances[]', name: '', - type: 'uint256', + type: 'tuple[]', }, ], stateMutability: 'view', @@ -91,18 +113,18 @@ const abi = [ inputs: [ { internalType: 'uint8', - name: 'pkgId', + name: 'packageIndex', type: 'uint8', }, ], - name: 'getPackageFromId', + name: 'getPackageFromIndex', outputs: [ { components: [ { - internalType: 'uint256', - name: 'manaQty', - type: 'uint256', + internalType: 'string', + name: 'packageId', + type: 'string', }, { internalType: 'uint256', @@ -125,9 +147,9 @@ const abi = [ { components: [ { - internalType: 'uint256', - name: 'manaQty', - type: 'uint256', + internalType: 'string', + name: 'packageId', + type: 'string', }, { internalType: 'uint256', @@ -157,32 +179,37 @@ const abi = [ type: 'function', }, { - inputs: [ + inputs: [], + name: 'owner', + outputs: [ { internalType: 'address', name: '', type: 'address', }, ], - name: 'manaBalances', - outputs: [ + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, { internalType: 'uint256', name: '', type: 'uint256', }, ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', + name: 'packageBalances', outputs: [ { - internalType: 'address', + internalType: 'uint256', name: '', - type: 'address', + type: 'uint256', }, ], stateMutability: 'view', @@ -199,9 +226,9 @@ const abi = [ name: 'packages', outputs: [ { - internalType: 'uint256', - name: 'manaQty', - type: 'uint256', + internalType: 'string', + name: 'packageId', + type: 'string', }, { internalType: 'uint256', @@ -229,7 +256,7 @@ const abi = [ inputs: [ { internalType: 'uint256[]', - name: '_qty', + name: '_quantity', type: 'uint256[]', }, ], @@ -248,9 +275,9 @@ const abi = [ { inputs: [ { - internalType: 'uint256[]', - name: '_manaQty', - type: 'uint256[]', + internalType: 'string[]', + name: '_packageIds', + type: 'string[]', }, { internalType: 'uint256[]', @@ -325,9 +352,9 @@ const abi = [ ] as const const MANA_VENDING_MACHINE: Contract = { name: 'Mana Vending Machine', - address: '0xd5c7e6257d264ede9cc7a2e74e52df65e727eb4e', + address: '0x0cb20e015600d8f416900ce1bab3cd6990b097a5', is_deprecated: false, - created_at: 1721411235, + created_at: 1734024108, abi: abi, } export default MANA_VENDING_MACHINE diff --git a/src/contracts/merkle_factory_v2.ts b/src/contracts/merkle_factory_v2.ts new file mode 100644 index 0000000..9fd0db5 --- /dev/null +++ b/src/contracts/merkle_factory_v2.ts @@ -0,0 +1,130 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'string', + name: 'id', + type: 'string', + }, + ], + name: 'FactoryMerkleContractExists', + type: 'error', + }, + { + inputs: [], + name: 'FactoryZeroToken', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'benefactor', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'calendarAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'string', + name: 'id', + type: 'string', + }, + ], + name: 'MerkleCreated', + type: 'event', + }, + { + inputs: [ + { + internalType: 'string', + name: '_id', + type: 'string', + }, + { + internalType: 'address', + name: '_token', + type: 'address', + }, + { + internalType: 'address', + name: '_benefactor', + type: 'address', + }, + { + internalType: 'uint256', + name: '_claimFee', + type: 'uint256', + }, + { + internalType: 'address', + name: '_feeCollector', + type: 'address', + }, + { + internalType: 'address', + name: '_feeSetter', + type: 'address', + }, + { + internalType: 'contract IPostClaimHandler[]', + name: '_postClaimHandlers', + type: 'address[]', + }, + { + internalType: 'uint256', + name: '_maxClaimFee', + type: 'uint256', + }, + { + internalType: 'bool', + name: '_shouldPayClaimFeeOnlyOnce', + type: 'bool', + }, + ], + name: 'createMerkle', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + name: 'merkleContracts', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, +] as const +const MERKLE_FACTORY_V2: Contract = { + name: 'Merkle Factory V2', + address: '0xe84a14924c6ff691ac4605cf435ce5df75f52ed2', + is_deprecated: false, + created_at: 1733782636, + abi: abi, +} +export default MERKLE_FACTORY_V2 diff --git a/src/contracts/mirpass_v4.ts b/src/contracts/mirpass_v4.ts new file mode 100644 index 0000000..134799b --- /dev/null +++ b/src/contracts/mirpass_v4.ts @@ -0,0 +1,1722 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [], + name: 'ECDSAInvalidSignature', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'length', + type: 'uint256', + }, + ], + name: 'ECDSAInvalidSignatureLength', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 's', + type: 'bytes32', + }, + ], + name: 'ECDSAInvalidSignatureS', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'numerator', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'denominator', + type: 'uint256', + }, + ], + name: 'ERC2981InvalidDefaultRoyalty', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC2981InvalidDefaultRoyaltyReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'numerator', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'denominator', + type: 'uint256', + }, + ], + name: 'ERC2981InvalidTokenRoyalty', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC2981InvalidTokenRoyaltyReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC721IncorrectOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC721InsufficientApproval', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'approver', + type: 'address', + }, + ], + name: 'ERC721InvalidApprover', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'ERC721InvalidOperator', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC721InvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC721InvalidReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + ], + name: 'ERC721InvalidSender', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC721NonexistentToken', + type: 'error', + }, + { + inputs: [], + name: 'EnforcedPause', + type: 'error', + }, + { + inputs: [], + name: 'ExpectedPause', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + inputs: [], + name: 'InvalidInitialization', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'InvalidMinter', + type: 'error', + }, + { + inputs: [], + name: 'NotInitializing', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'OwnableInvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'OwnableUnauthorizedAccount', + type: 'error', + }, + { + inputs: [], + name: 'ReentrancyGuardReentrantCall', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidQuantity', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidRecipient', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidSigner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'startTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'endTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'actualTime', + type: 'uint256', + }, + ], + name: 'SignatureMintInvalidTime', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintUnauthorized', + type: 'error', + }, + { + inputs: [], + name: 'UUPSUnauthorizedCallContext', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'slot', + type: 'bytes32', + }, + ], + name: 'UUPSUnsupportedProxiableUUID', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'UnauthorizedMinter', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'AddBlack', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'approved', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'uri', + type: 'string', + }, + { + indexed: false, + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'BaseURIChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'EIP712DomainChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint64', + name: 'version', + type: 'uint64', + }, + ], + name: 'Initialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bool', + name: 'isLocked', + type: 'bool', + }, + { + indexed: false, + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'LockStatusChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'MinterAdded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'MinterRemoved', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + ], + name: 'NonceUpdated', + 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: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'RemoveBlack', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'approvedContract', + type: 'address', + }, + ], + name: 'TokenLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'approvedContract', + type: 'address', + }, + ], + name: 'TokenUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'signer', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'mintedTo', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenIdMinted', + type: 'uint256', + }, + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + indexed: false, + internalType: 'struct ISignatureMintERC721.MintRequest', + name: 'mintRequest', + type: 'tuple', + }, + ], + name: 'TokensMintedWithSignature', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'previous', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'current', + type: 'address', + }, + ], + name: 'TrustedForwarderChanged', + 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: 'UPGRADE_INTERFACE_VERSION', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: '_totalCounter', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'addBlackList', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'addMinter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'burnBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'contractURI', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'eip712Domain', + outputs: [ + { + internalType: 'bytes1', + name: 'fields', + type: 'bytes1', + }, + { + internalType: 'string', + name: 'name', + type: 'string', + }, + { + internalType: 'string', + name: 'version', + type: 'string', + }, + { + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'verifyingContract', + type: 'address', + }, + { + internalType: 'bytes32', + name: 'salt', + type: 'bytes32', + }, + { + internalType: 'uint256[]', + name: 'extensions', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'getApproved', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'name_', + type: 'string', + }, + { + internalType: 'string', + name: 'symbol_', + type: 'string', + }, + { + internalType: 'string', + name: 'baseURI_', + type: 'string', + }, + { + internalType: 'address', + name: 'minter_', + type: 'address', + }, + { + internalType: 'address', + name: 'trustedForwarder_', + type: 'address', + }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'isBlackToken', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'isMinter', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'isTokenLocked', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'forwarder', + type: 'address', + }, + ], + name: 'isTrustedForwarder', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + ], + name: 'lockTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'addressList', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + ], + name: 'mintAndLockBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'addressList', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'mintBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + internalType: 'struct ISignatureMintERC721.MintRequest', + name: '_req', + type: 'tuple', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'mintWithSignature', + outputs: [ + { + internalType: 'address', + name: 'signer', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'nonces', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ownerOf', + 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: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'removeBlackList', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'removeMinter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'salePrice', + type: 'uint256', + }, + ], + name: 'royaltyInfo', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'uint96', + name: 'feeNumerator', + type: 'uint96', + }, + ], + name: 'setDefaultRoyalty', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'trustedForwarder_', + type: 'address', + }, + ], + name: 'setTrustedForwarder', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'stateOf', + outputs: [ + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: 'interfaceId', + type: 'bytes4', + }, + ], + name: 'supportsInterface', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'tokenURI', + 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: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'trustedForwarder', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'unlockTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'unpause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'baseURI_', + type: 'string', + }, + ], + name: 'updateBaseURI', + 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', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + internalType: 'struct ISignatureMintERC721.MintRequest', + name: '_req', + type: 'tuple', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'verify', + outputs: [ + { + internalType: 'bool', + name: 'success', + type: 'bool', + }, + { + internalType: 'address', + name: 'signer', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'pure', + type: 'function', + }, +] as const +const MIRPASS_V4: Contract = { + name: 'Mirpass V4', + address: '0x1fe4daf9f5b6014b712a933db302791cdd4fdabe', + is_deprecated: false, + created_at: 1733754038, + abi: abi, +} +export default MIRPASS_V4 diff --git a/src/contracts/mirpass_v4_proxy.ts b/src/contracts/mirpass_v4_proxy.ts new file mode 100644 index 0000000..42a01c5 --- /dev/null +++ b/src/contracts/mirpass_v4_proxy.ts @@ -0,0 +1,76 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, +] as const +const MIRPASS_V4_PROXY: Contract = { + name: 'Mirpass V4 Proxy', + address: '0x36ad85bade93ec08dfddc0dd0186bf685d7c3962', + is_deprecated: false, + created_at: 1729989561, + abi: abi, +} +export default MIRPASS_V4_PROXY diff --git a/src/contracts/mystery_box_proxy.ts b/src/contracts/mystery_box_proxy.ts new file mode 100644 index 0000000..ef46b10 --- /dev/null +++ b/src/contracts/mystery_box_proxy.ts @@ -0,0 +1,154 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementationAddress', + type: 'address', + }, + { + internalType: 'address', + name: 'ownerAddress', + type: 'address', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + 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: 'address', + name: 'previousImplementation', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newImplementation', + type: 'address', + }, + ], + name: 'ProxyImplementationUpdated', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: 'id', + type: 'bytes4', + }, + ], + name: 'supportsInterface', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + 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', + }, + { + stateMutability: 'payable', + type: 'receive', + }, +] as const +const MYSTERY_BOX_PROXY: Contract = { + name: 'Mystery Box Proxy', + address: '0xd43bdbd75141f328104eb2887689479f1258703c', + is_deprecated: false, + created_at: 1731315249, + abi: abi, +} +export default MYSTERY_BOX_PROXY diff --git a/src/contracts/nft721.ts b/src/contracts/nft721.ts index 223301e..1b15204 100644 --- a/src/contracts/nft721.ts +++ b/src/contracts/nft721.ts @@ -1168,9 +1168,9 @@ const abi = [ ] as const const NFT721: Contract = { name: 'NFT721', - address: '0x3458d13ec72d08083b1a1b86c5cf57a4c1fbeaf6', + address: '0x9456b2b9f22b4c0cf392dcea893c7ab122dbb877', is_deprecated: false, - created_at: 1728634144, + created_at: 1729521995, abi: abi, } export default NFT721 diff --git a/src/contracts/phzm1155.ts b/src/contracts/phzm1155.ts index 95b0e2c..5ca5e47 100644 --- a/src/contracts/phzm1155.ts +++ b/src/contracts/phzm1155.ts @@ -603,6 +603,13 @@ const abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [], + name: 'dailyClaimAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { @@ -1246,9 +1253,9 @@ const abi = [ ] as const const PHZM1155: Contract = { name: 'PHZM1155', - address: '0x853517179c035a074286671c825cd18f5806bd87', + address: '0xa7d6938984baf2eb5c3404ea5c4bda2352d8ec34', is_deprecated: false, - created_at: 1729764313, + created_at: 1731495419, abi: abi, } export default PHZM1155 diff --git a/src/contracts/puzzle_champions_nft.ts b/src/contracts/puzzle_champions_nft.ts new file mode 100644 index 0000000..6b2d063 --- /dev/null +++ b/src/contracts/puzzle_champions_nft.ts @@ -0,0 +1,830 @@ +import { Contract } from '@/contract' +const abi = [ + { + 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: 'account', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + 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: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'values', + type: 'uint256[]', + }, + ], + name: 'TransferBatch', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + ], + name: 'TransferSingle', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'value', + type: 'string', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'URI', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + inputs: [], + name: 'CAPSULE_TYPE1_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CAPSULE_TYPE2_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CAPSULE_TYPE3_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CAPSULE_TYPE4_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CAPSULE_TYPE5_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CHAMPIONS_MAX_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CHAMPIONS_MIN_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CHAMPIONS_SILVER_ID_MAX', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'CHEST_ID', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'accounts', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + ], + name: 'balanceOfBatch', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'uint256', + name: 'championId', + type: 'uint256', + }, + ], + name: 'burnChampion', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'getOwnedCapsule', + outputs: [ + { + internalType: 'uint256[]', + name: 'ownedCounts', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'getOwnedChampions', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'tokenName', + type: 'string', + }, + { + internalType: 'string', + name: 'tokenSymbol', + type: 'string', + }, + { + internalType: 'address', + name: '_proxyAdmin', + type: 'address', + }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'amounts', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'mintBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'capsuleId', + type: 'uint256', + }, + ], + name: 'mintCapsule', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'capsuleId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'championId', + type: 'uint256', + }, + ], + name: 'mintChampion', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + name: 'mintChest', + outputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'amounts', + type: 'uint256[]', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + 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: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'amounts', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeBatchTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'newBaseURI', + type: 'string', + }, + ], + name: 'setBaseURI', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'newuri', + type: 'string', + }, + ], + name: 'setURI', + 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: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + 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', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'uri', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, +] as const +const PUZZLE_CHAMPIONS_NFT: Contract = { + name: 'Puzzle Champions NFT', + address: '0xbf84526dca85cf2a5043e6ef4093fd9a53f98cd2', + is_deprecated: false, + created_at: 1731030227, + abi: abi, +} +export default PUZZLE_CHAMPIONS_NFT diff --git a/src/contracts/reward_claim_proxy.ts b/src/contracts/reward_claim_proxy.ts new file mode 100644 index 0000000..eb641bb --- /dev/null +++ b/src/contracts/reward_claim_proxy.ts @@ -0,0 +1,154 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementationAddress', + type: 'address', + }, + { + internalType: 'address', + name: 'ownerAddress', + type: 'address', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + 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: 'address', + name: 'previousImplementation', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newImplementation', + type: 'address', + }, + ], + name: 'ProxyImplementationUpdated', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: 'id', + type: 'bytes4', + }, + ], + name: 'supportsInterface', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + 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', + }, + { + stateMutability: 'payable', + type: 'receive', + }, +] as const +const REWARD_CLAIM_PROXY: Contract = { + name: 'Reward Claim Proxy', + address: '0x91a2d90268338655effc97e8f33f0a405c84e692', + is_deprecated: false, + created_at: 1733152302, + abi: abi, +} +export default REWARD_CLAIM_PROXY diff --git a/src/contracts/ronin_game_inbox.ts b/src/contracts/ronin_game_inbox.ts index 2b5c125..833226d 100644 --- a/src/contracts/ronin_game_inbox.ts +++ b/src/contracts/ronin_game_inbox.ts @@ -92,6 +92,25 @@ const abi = [ name: 'BeaconUpgraded', type: 'event', }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'DepositLUAToGame', + type: 'event', + }, { anonymous: false, inputs: [ @@ -390,6 +409,24 @@ const abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'depositLUAToGame', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { @@ -745,9 +782,9 @@ const abi = [ ] as const const RONIN_GAME_INBOX: Contract = { name: 'Ronin Game Inbox', - address: '0xcb47086ad46e6d0419903860daa035ee3d37c903', + address: '0x4bba9f2cc156cb885fa5b605f693be20c5d1aa9b', is_deprecated: false, - created_at: 1727622256, + created_at: 1730859948, abi: abi, } export default RONIN_GAME_INBOX diff --git a/src/contracts/ronin_game_nft.ts b/src/contracts/ronin_game_nft.ts index e975c0c..abc2f2b 100644 --- a/src/contracts/ronin_game_nft.ts +++ b/src/contracts/ronin_game_nft.ts @@ -102,6 +102,19 @@ const abi = [ name: 'Initialized', type: 'event', }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'airdrop', + type: 'address', + }, + ], + name: 'LuLuMoonAirdropUpdate', + type: 'event', + }, { anonymous: false, inputs: [ @@ -414,6 +427,19 @@ const abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [], + name: 'luluMoonAirdrop', + outputs: [ + { + internalType: 'contract ILuLuMoonAirdrop', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [], name: 'name', @@ -629,6 +655,19 @@ const abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [ + { + internalType: 'contract ILuLuMoonAirdrop', + name: 'airdrop', + type: 'address', + }, + ], + name: 'setLuLuMoonAirdrop', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { @@ -714,9 +753,9 @@ const abi = [ ] as const const RONIN_GAME_NFT: Contract = { name: 'Ronin Game NFT', - address: '0xeebdf0690308088c007676c697e2d83a9fe2839b', + address: '0xdf5814f66fb9b504d72fd4c50a2861c80287d683', is_deprecated: false, - created_at: 1726992962, + created_at: 1731315546, abi: abi, } export default RONIN_GAME_NFT diff --git a/src/contracts/runes.ts b/src/contracts/runes.ts new file mode 100644 index 0000000..00ef2de --- /dev/null +++ b/src/contracts/runes.ts @@ -0,0 +1,797 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_initialOwner', + type: 'address', + }, + { + internalType: 'address', + name: '_signer', + type: 'address', + }, + { + internalType: 'string', + name: '_initialUri', + type: 'string', + }, + { + internalType: 'string', + name: '_metadataHash', + type: 'string', + }, + { + internalType: 'uint256', + name: '_maxClaim', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + name: 'ECDSAInvalidSignature', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'length', + type: 'uint256', + }, + ], + name: 'ECDSAInvalidSignatureLength', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 's', + type: 'bytes32', + }, + ], + name: 'ECDSAInvalidSignatureS', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'balance', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'needed', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC1155InsufficientBalance', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'approver', + type: 'address', + }, + ], + name: 'ERC1155InvalidApprover', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'idsLength', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'valuesLength', + type: 'uint256', + }, + ], + name: 'ERC1155InvalidArrayLength', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'ERC1155InvalidOperator', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC1155InvalidReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + ], + name: 'ERC1155InvalidSender', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC1155MissingApprovalForAll', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'OwnableInvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'OwnableUnauthorizedAccount', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: '_newMax', + type: 'uint256', + }, + ], + name: 'MaxTokensPerClaimUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: '_newMetadataHash', + type: 'string', + }, + ], + name: 'MetadataHashUpdated', + 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: 'address', + name: '_newSigner', + type: 'address', + }, + ], + name: 'SignerUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'values', + type: 'uint256[]', + }, + ], + name: 'TransferBatch', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + ], + name: 'TransferSingle', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'value', + type: 'string', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'URI', + type: 'event', + }, + { + inputs: [], + name: 'authorizedSigner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'accounts', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + ], + name: 'balanceOfBatch', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: '_tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: '_tokenAmounts', + type: 'uint256[]', + }, + ], + name: 'burnBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: '_tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: '_tokenAmounts', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: '_nonce', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'claim', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'exists', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'maxTokensPerClaim', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'metadataHash', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + 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: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'values', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeBatchTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_maxClaim', + type: 'uint256', + }, + ], + name: 'setMaxTokensPerClaim', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: '_metadataHash', + type: 'string', + }, + ], + name: 'setMetadataHash', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_signer', + type: 'address', + }, + ], + name: 'setSigner', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: '_newURI', + type: 'string', + }, + ], + name: 'setURI', + 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: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'uri', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, +] as const +const RUNES: Contract = { + name: 'Runes', + address: '0xbf0812c6813cf42f63cb5d773b61b91610122520', + is_deprecated: false, + created_at: 1733221800, + abi: abi, +} +export default RUNES diff --git a/src/contracts/tma_token_proxy.ts b/src/contracts/tma_token_proxy.ts new file mode 100644 index 0000000..ad4b4f6 --- /dev/null +++ b/src/contracts/tma_token_proxy.ts @@ -0,0 +1,76 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, +] as const +const TMA_TOKEN_PROXY: Contract = { + name: 'TMA Token Proxy', + address: '0x24d5e1800f10e8012f4aa95bccd5d2c1f13c45bf', + is_deprecated: false, + created_at: 1734062985, + abi: abi, +} +export default TMA_TOKEN_PROXY diff --git a/src/contracts/token_manager_proxy.ts b/src/contracts/token_manager_proxy.ts new file mode 100644 index 0000000..1af7f9d --- /dev/null +++ b/src/contracts/token_manager_proxy.ts @@ -0,0 +1,76 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, +] as const +const TOKEN_MANAGER_PROXY: Contract = { + name: 'Token Manager Proxy', + address: '0x4a83acecdac789ee380d48f8bf726275dfd8da3a', + is_deprecated: false, + created_at: 1734063021, + abi: abi, +} +export default TOKEN_MANAGER_PROXY diff --git a/src/contracts/tribally_game_battles.ts b/src/contracts/tribally_game_battles.ts new file mode 100644 index 0000000..0900f94 --- /dev/null +++ b/src/contracts/tribally_game_battles.ts @@ -0,0 +1,1403 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'mainToken', + type: 'address', + }, + { + internalType: 'address[]', + name: 'owners', + type: 'address[]', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'AddOwner', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'newAlterToken', + type: 'address', + }, + ], + name: 'ChangeAlterToken', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'timestampExpirationDelay', + type: 'uint256', + }, + ], + name: 'ChangeTimestampDelay', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'previousAlternativeFee', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'newAlternativeFee', + type: 'uint256', + }, + ], + name: 'CompanyAlterFeeChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'previousCompanyFee', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'newCompanyFee', + type: 'uint256', + }, + ], + name: 'CompanyFeeChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'previousCompany', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newCompany', + type: 'address', + }, + ], + name: 'CompanyTransferred', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'client', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'joinIdRef', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'mainTokenRefunded', + type: 'uint256', + }, + ], + name: 'CustomBetCancelled', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'string', + name: 'finalValue', + type: 'string', + }, + { + indexed: false, + internalType: 'bool', + name: 'targetSideWon', + type: 'bool', + }, + ], + name: 'CustomBetClosed', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'string', + name: 'eventId', + type: 'string', + }, + { + indexed: false, + internalType: 'bool', + name: 'hidden', + type: 'bool', + }, + { + indexed: false, + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'expirationTime', + type: 'uint256', + }, + { + indexed: false, + internalType: 'string', + name: 'targetValue', + type: 'string', + }, + { + indexed: false, + internalType: 'bool', + name: 'targetSide', + type: 'bool', + }, + { + indexed: false, + internalType: 'uint256', + name: 'coefficient', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'creator', + type: 'address', + }, + ], + name: 'CustomBetCreated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'bool', + name: 'side', + type: 'bool', + }, + { + indexed: false, + internalType: 'uint256', + name: 'mainAmount', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'client', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'joinId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'joinIdRef', + type: 'uint256', + }, + ], + name: 'CustomBetJoined', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'client', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'mainTokenRefunded', + type: 'uint256', + }, + ], + name: 'CustomBetRefunded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'client', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bool', + name: 'useAlterFee', + type: 'bool', + }, + ], + name: 'CustomPrizeTaken', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'targetAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'isAlternative', + type: 'bool', + }, + ], + name: 'FeeTaken', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'ownerToRemove', + type: 'address', + }, + ], + name: 'RemoveOwner', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'newSwapRouter', + type: 'address', + }, + ], + name: 'SetRouter', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'code', + type: 'string', + }, + { + indexed: false, + internalType: 'uint256', + name: 'votingNumber', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bool', + name: 'passed', + type: 'bool', + }, + ], + name: 'VotingResult', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'code', + type: 'string', + }, + { + indexed: false, + internalType: 'uint256', + name: 'votingNumber', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'initiator', + type: 'address', + }, + ], + name: 'VotingStarted', + type: 'event', + }, + { + inputs: [], + name: 'acquireNewAlternativeToken', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'acquireNewOwner', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'acquireOwnerToRemove', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'acquireTakeFee', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'acquireTransferCompany', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'addOwnerVoting', + outputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + { + internalType: 'uint256', + name: 'createdDate', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'votingCode', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'joinIdRef', + type: 'uint256', + }, + ], + name: 'cancelCustomJoin', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'changeAlterToken', + outputs: [ + { + internalType: 'address', + name: 'newAlterToken', + type: 'address', + }, + { + internalType: 'uint256', + name: 'createdDate', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'votingCode', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'alternativeToken', + type: 'address', + }, + ], + name: 'changeAlternativeTokenStart', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'clientBetsLength', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'close', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + internalType: 'string', + name: 'finalValue', + type: 'string', + }, + { + internalType: 'bool', + name: 'targetSideWon', + type: 'bool', + }, + ], + name: 'closeCustomBet', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'company', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'string', + name: 'eventId', + type: 'string', + }, + { + internalType: 'bool', + name: 'hidden', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'expirationTime', + type: 'uint256', + }, + { + internalType: 'string', + name: 'targetValue', + type: 'string', + }, + { + internalType: 'bool', + name: 'targetSide', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'coefficient', + type: 'uint256', + }, + ], + internalType: 'struct CustomDTOs.CreateCustomRequest', + name: 'createRequest', + type: 'tuple', + }, + { + components: [ + { + internalType: 'bool', + name: 'side', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + internalType: 'struct CustomDTOs.JoinCustomRequest', + name: 'joinRequest', + type: 'tuple', + }, + ], + name: 'createCustomBet', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'customBetIdCounter', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bool', + name: 'enable', + type: 'bool', + }, + ], + name: 'enableAlternativeToken', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'getAlternativeFee', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getAlternativeIERC20Token', + outputs: [ + { + internalType: 'contract IERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'client', + type: 'address', + }, + { + internalType: 'uint256', + name: 'offset', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'size', + type: 'uint256', + }, + ], + name: 'getClientBets', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getCompanyFee', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'token', + type: 'address', + }, + ], + name: 'getCompanyFeeBalance', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + ], + name: 'getCustomBet', + outputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'string', + name: 'eventId', + type: 'string', + }, + { + internalType: 'bool', + name: 'hidden', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'expirationTime', + type: 'uint256', + }, + { + internalType: 'string', + name: 'targetValue', + type: 'string', + }, + { + internalType: 'bool', + name: 'targetSide', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'coefficient', + type: 'uint256', + }, + { + internalType: 'string', + name: 'finalValue', + type: 'string', + }, + { + internalType: 'bool', + name: 'targetSideWon', + type: 'bool', + }, + ], + internalType: 'struct CustomDTOs.CustomBet', + name: '', + type: 'tuple', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'client', + type: 'address', + }, + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + ], + name: 'getCustomClientJoins', + outputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'address', + name: 'client', + type: 'address', + }, + { + internalType: 'uint256', + name: 'freeAmount', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lockedAmount', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'targetSide', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'joinRefId', + type: 'uint256', + }, + ], + internalType: 'struct CustomDTOs.JoinCustomBetClient[]', + name: '', + type: 'tuple[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'client', + type: 'address', + }, + ], + name: 'getCustomWonAmount', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getMainIERC20Token', + outputs: [ + { + internalType: 'contract IERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getTimestampExpirationDelay', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'isAlternativeTokenEnabled', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + components: [ + { + internalType: 'bool', + name: 'side', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + internalType: 'struct CustomDTOs.JoinCustomRequest', + name: 'joinRequest', + type: 'tuple', + }, + ], + name: 'joinCustomBet', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'ownerAddStart', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'ownerToRemove', + type: 'address', + }, + ], + name: 'ownerToRemoveStart', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'owners', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'client', + type: 'address', + }, + ], + name: 'refundCustomBet', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'removeOwnerVoting', + outputs: [ + { + internalType: 'address', + name: 'ownerToRemove', + type: 'address', + }, + { + internalType: 'uint256', + name: 'createdDate', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'votingCode', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'alternativeFee', + type: 'uint256', + }, + ], + name: 'setAlternativeFeeFee', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'companyFee', + type: 'uint256', + }, + ], + name: 'setCompanyFee', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'router', + type: 'address', + }, + ], + name: 'setRouter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'timestampExpirationDelay', + type: 'uint256', + }, + ], + name: 'setTimestampExpirationDelay', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'swapRouter', + outputs: [ + { + internalType: 'contract SwapRouter', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'betId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'client', + type: 'address', + }, + { + internalType: 'bool', + name: 'useAlterFee', + type: 'bool', + }, + ], + name: 'takeCustomPrize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'address', + name: 'targetAddress', + type: 'address', + }, + { + internalType: 'bool', + name: 'isAlternative', + type: 'bool', + }, + ], + name: 'takeFeeStart', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'takeFeeVoting', + outputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'address', + name: 'targetAddress', + type: 'address', + }, + { + internalType: 'bool', + name: 'isAlternative', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'createdDate', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'votingCode', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalOwners', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newCompany', + type: 'address', + }, + ], + name: 'transferCompanyStart', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'transferCompanyVoting', + outputs: [ + { + internalType: 'address', + name: 'newCompanyAddress', + type: 'address', + }, + { + internalType: 'uint256', + name: 'createdDate', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'votingCode', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'voteNegative', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'votePositive', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'voted', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'votingActive', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'votingInfo', + outputs: [ + { + internalType: 'address', + name: 'initiator', + type: 'address', + }, + { + internalType: 'uint256', + name: 'currentNumberOfVotesPositive', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'currentNumberOfVotesNegative', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'startedDate', + type: 'uint256', + }, + { + internalType: 'string', + name: 'votingCode', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, +] as const +const TRIBALLY_GAME_BATTLES: Contract = { + name: 'Tribally Game Battles', + address: '0x3d1b2cf77ac7cc2309601b6e78cb695cbac3c7fe', + is_deprecated: false, + created_at: 1732063603, + abi: abi, +} +export default TRIBALLY_GAME_BATTLES diff --git a/src/contracts/vip_shop_token_purchase_proxy.ts b/src/contracts/vip_shop_token_purchase_proxy.ts index bd92176..54bbb53 100644 --- a/src/contracts/vip_shop_token_purchase_proxy.ts +++ b/src/contracts/vip_shop_token_purchase_proxy.ts @@ -72,9 +72,9 @@ const abi = [ ] as const const VIP_SHOP_TOKEN_PURCHASE_PROXY: Contract = { name: 'VIP Shop Token Purchase Proxy', - address: '0x3fd8440d5a2e6ce3c49ab9982c95cfe6776b2724', + address: '0x6dc54916da93409e27a094c57ccf1491a30babb9', is_deprecated: false, - created_at: 1730457325, + created_at: 1733997773, abi: abi, } export default VIP_SHOP_TOKEN_PURCHASE_PROXY diff --git a/src/contracts/weapon_v4.ts b/src/contracts/weapon_v4.ts new file mode 100644 index 0000000..5f5c4e3 --- /dev/null +++ b/src/contracts/weapon_v4.ts @@ -0,0 +1,1722 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [], + name: 'ECDSAInvalidSignature', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'length', + type: 'uint256', + }, + ], + name: 'ECDSAInvalidSignatureLength', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 's', + type: 'bytes32', + }, + ], + name: 'ECDSAInvalidSignatureS', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'numerator', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'denominator', + type: 'uint256', + }, + ], + name: 'ERC2981InvalidDefaultRoyalty', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC2981InvalidDefaultRoyaltyReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'numerator', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'denominator', + type: 'uint256', + }, + ], + name: 'ERC2981InvalidTokenRoyalty', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC2981InvalidTokenRoyaltyReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC721IncorrectOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC721InsufficientApproval', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'approver', + type: 'address', + }, + ], + name: 'ERC721InvalidApprover', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'ERC721InvalidOperator', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'ERC721InvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'ERC721InvalidReceiver', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + ], + name: 'ERC721InvalidSender', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ERC721NonexistentToken', + type: 'error', + }, + { + inputs: [], + name: 'EnforcedPause', + type: 'error', + }, + { + inputs: [], + name: 'ExpectedPause', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + inputs: [], + name: 'InvalidInitialization', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'InvalidMinter', + type: 'error', + }, + { + inputs: [], + name: 'NotInitializing', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'OwnableInvalidOwner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'OwnableUnauthorizedAccount', + type: 'error', + }, + { + inputs: [], + name: 'ReentrancyGuardReentrantCall', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidQuantity', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidRecipient', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintInvalidSigner', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'startTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'endTime', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'actualTime', + type: 'uint256', + }, + ], + name: 'SignatureMintInvalidTime', + type: 'error', + }, + { + inputs: [], + name: 'SignatureMintUnauthorized', + type: 'error', + }, + { + inputs: [], + name: 'UUPSUnauthorizedCallContext', + type: 'error', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'slot', + type: 'bytes32', + }, + ], + name: 'UUPSUnsupportedProxiableUUID', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'UnauthorizedMinter', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'AddBlack', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'approved', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'uri', + type: 'string', + }, + { + indexed: false, + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'BaseURIChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'EIP712DomainChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint64', + name: 'version', + type: 'uint64', + }, + ], + name: 'Initialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bool', + name: 'isLocked', + type: 'bool', + }, + { + indexed: false, + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'LockStatusChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'MinterAdded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'MinterRemoved', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + ], + name: 'NonceUpdated', + 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: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'RemoveBlack', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'approvedContract', + type: 'address', + }, + ], + name: 'TokenLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'approvedContract', + type: 'address', + }, + ], + name: 'TokenUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'signer', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'mintedTo', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenIdMinted', + type: 'uint256', + }, + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + indexed: false, + internalType: 'struct ISignatureMintERC721.MintRequest', + name: 'mintRequest', + type: 'tuple', + }, + ], + name: 'TokensMintedWithSignature', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'previous', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'current', + type: 'address', + }, + ], + name: 'TrustedForwarderChanged', + 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: 'UPGRADE_INTERFACE_VERSION', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: '_totalCounter', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'addBlackList', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'addMinter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'burnBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'contractURI', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'eip712Domain', + outputs: [ + { + internalType: 'bytes1', + name: 'fields', + type: 'bytes1', + }, + { + internalType: 'string', + name: 'name', + type: 'string', + }, + { + internalType: 'string', + name: 'version', + type: 'string', + }, + { + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: 'verifyingContract', + type: 'address', + }, + { + internalType: 'bytes32', + name: 'salt', + type: 'bytes32', + }, + { + internalType: 'uint256[]', + name: 'extensions', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'getApproved', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'name_', + type: 'string', + }, + { + internalType: 'string', + name: 'symbol_', + type: 'string', + }, + { + internalType: 'string', + name: 'baseURI_', + type: 'string', + }, + { + internalType: 'address', + name: 'minter_', + type: 'address', + }, + { + internalType: 'address', + name: 'trustedForwarder_', + type: 'address', + }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'isBlackToken', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'isMinter', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'isTokenLocked', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'forwarder', + type: 'address', + }, + ], + name: 'isTrustedForwarder', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + ], + name: 'lockTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'addressList', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + { + internalType: 'uint256', + name: 'lockTime', + type: 'uint256', + }, + ], + name: 'mintAndLockBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'addressList', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'mintBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + internalType: 'struct ISignatureMintERC721.MintRequest', + name: '_req', + type: 'tuple', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'mintWithSignature', + outputs: [ + { + internalType: 'address', + name: 'signer', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'nonces', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'ownerOf', + 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: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'removeBlackList', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'removeMinter', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'salePrice', + type: 'uint256', + }, + ], + name: 'royaltyInfo', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'uint96', + name: 'feeNumerator', + type: 'uint96', + }, + ], + name: 'setDefaultRoyalty', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'trustedForwarder_', + type: 'address', + }, + ], + name: 'setTrustedForwarder', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'stateOf', + outputs: [ + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: 'interfaceId', + type: 'bytes4', + }, + ], + name: 'supportsInterface', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'tokenId_', + type: 'uint256', + }, + ], + name: 'tokenURI', + 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: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'trustedForwarder', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256[]', + name: 'tokenIds', + type: 'uint256[]', + }, + ], + name: 'unlockTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'unpause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: 'baseURI_', + type: 'string', + }, + ], + name: 'updateBaseURI', + 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', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'quantity', + type: 'uint256', + }, + { + internalType: 'uint128', + name: 'validityStartTimestamp', + type: 'uint128', + }, + { + internalType: 'uint128', + name: 'validityEndTimestamp', + type: 'uint128', + }, + { + internalType: 'bytes32', + name: 'uid', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + internalType: 'struct ISignatureMintERC721.MintRequest', + name: '_req', + type: 'tuple', + }, + { + internalType: 'bytes', + name: '_signature', + type: 'bytes', + }, + ], + name: 'verify', + outputs: [ + { + internalType: 'bool', + name: 'success', + type: 'bool', + }, + { + internalType: 'address', + name: 'signer', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'pure', + type: 'function', + }, +] as const +const WEAPON_V4: Contract = { + name: 'Weapon V4', + address: '0xaa97dbd50f43abda393434ada9722e9335cd7f74', + is_deprecated: false, + created_at: 1733754545, + abi: abi, +} +export default WEAPON_V4 diff --git a/src/contracts/weapon_v4_proxy.ts b/src/contracts/weapon_v4_proxy.ts new file mode 100644 index 0000000..36325e5 --- /dev/null +++ b/src/contracts/weapon_v4_proxy.ts @@ -0,0 +1,76 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + stateMutability: 'payable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: 'target', + type: 'address', + }, + ], + name: 'AddressEmptyCode', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'ERC1967InvalidImplementation', + type: 'error', + }, + { + inputs: [], + name: 'ERC1967NonPayable', + type: 'error', + }, + { + inputs: [], + name: 'FailedInnerCall', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { + stateMutability: 'payable', + type: 'fallback', + }, +] as const +const WEAPON_V4_PROXY: Contract = { + name: 'Weapon V4 Proxy', + address: '0xe7482c4b9530291fddcc2927d3350119c5800161', + is_deprecated: false, + created_at: 1729990305, + abi: abi, +} +export default WEAPON_V4_PROXY diff --git a/src/contracts/weekly_check_in.ts b/src/contracts/weekly_check_in.ts index 67effb8..1556a03 100644 --- a/src/contracts/weekly_check_in.ts +++ b/src/contracts/weekly_check_in.ts @@ -888,6 +888,42 @@ const abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [ + { + internalType: 'uint256', + name: 'index', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'updateRagmonReward', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'index', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'updateRagmonTreasuryReward', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { @@ -923,9 +959,9 @@ const abi = [ ] as const const WEEKLY_CHECK_IN: Contract = { name: 'Weekly Check In', - address: '0xf3a1d3be948f26db3462b062356e1880ab9cd770', + address: '0xb17f45e271b1b85418fa11018b4aa28ede0d2f81', is_deprecated: false, - created_at: 1732151335, + created_at: 1732696092, abi: abi, } export default WEEKLY_CHECK_IN diff --git a/src/contracts/wild_forest_beta_token.ts b/src/contracts/wild_forest_beta_token.ts new file mode 100644 index 0000000..c2989ba --- /dev/null +++ b/src/contracts/wild_forest_beta_token.ts @@ -0,0 +1,307 @@ +import { Contract } from '@/contract' +const abi = [ + { + inputs: [ + { + internalType: 'uint256', + name: 'initialSupply', + type: 'uint256', + }, + { + internalType: 'string', + name: 'name', + type: 'string', + }, + { + internalType: 'string', + name: 'symbol', + type: 'string', + }, + { + internalType: 'address', + name: 'ownerAddress', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + 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: 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: [ + { + 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: [], + 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: '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: [], + 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: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, +] as const +const WILD_FOREST_BETA_TOKEN: Contract = { + name: 'Wild Forest Beta Token', + address: '0x363c3b97152e161cea85e0e5dc52dfdca01a2db1', + is_deprecated: true, + created_at: 1699365352, + abi: abi, +} +export default WILD_FOREST_BETA_TOKEN diff --git a/src/contracts/wild_forest_token.ts b/src/contracts/wild_forest_token.ts index 7ae841f..9b104f7 100644 --- a/src/contracts/wild_forest_token.ts +++ b/src/contracts/wild_forest_token.ts @@ -143,6 +143,19 @@ const abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [], name: 'decimals', @@ -299,9 +312,9 @@ const abi = [ ] as const const WILD_FOREST_TOKEN: Contract = { name: 'Wild Forest Token', - address: '0x363c3b97152e161cea85e0e5dc52dfdca01a2db1', + address: '0x03affae7e23fd11c85d0c90cc40510994d49e175', is_deprecated: false, - created_at: 1699365352, + created_at: 1733242116, abi: abi, } export default WILD_FOREST_TOKEN diff --git a/src/index.ts b/src/index.ts index ad46fdb..7dffd1c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -212,6 +212,8 @@ export { default as HERO } from '@/contracts/hero' export { default as HERO_PROXY } from '@/contracts/hero_proxy' export { default as HERO_V2 } from '@/contracts/hero_v2' export { default as HERO_V3 } from '@/contracts/hero_v3' +export { default as HERO_V4 } from '@/contracts/hero_v4' +export { default as HERO_V4_PROXY } from '@/contracts/hero_v4_proxy' export { default as IAP } from '@/contracts/iap' export { default as INFOMON_ERC1155 } from '@/contracts/infomon_erc1155' export { default as INFOMON_ERC721 } from '@/contracts/infomon_erc721' @@ -238,6 +240,7 @@ export { default as KATANA_ROUTER } from '@/contracts/katana_router' export { default as KATANA_TWAP_ORACLE } from '@/contracts/katana_twap_oracle' export { default as KATANA_V3_FACTORY_PROXY } from '@/contracts/katana_v3_factory_proxy' export { default as KATANA_V3_POOL_PROXY } from '@/contracts/katana_v3_pool_proxy' +export { default as KDR } from '@/contracts/kdr' export { default as KONG_CONSUMABLE } from '@/contracts/kong_consumable' export { default as KONG_CONSUMABLE_PROXY } from '@/contracts/kong_consumable_proxy' export { default as KONG_REDEEMER_PROXY } from '@/contracts/kong_redeemer_proxy' @@ -300,6 +303,7 @@ export { default as MAVIS_STORE_PROXY } from '@/contracts/mavis_store_proxy' export { default as MAXIMILLION } from '@/contracts/maximillion' export { default as MEO_II_AXIE_REDEMPTION } from '@/contracts/meo_ii_axie_redemption' export { default as MERCH_STORE_PROXY } from '@/contracts/merch_store_proxy' +export { default as MERKLE_FACTORY_V2 } from '@/contracts/merkle_factory_v2' export { default as META_LEND_LIMIT_ORDERS_ADMIN } from '@/contracts/meta_lend_limit_orders_admin' export { default as METALEND_PREMIUM_USER } from '@/contracts/metalend_premium_user' export { default as MINTABLE_ERC1155 } from '@/contracts/mintable_erc1155' @@ -308,6 +312,8 @@ export { default as MIRPASS } from '@/contracts/mirpass' export { default as MIRPASS_PROXY } from '@/contracts/mirpass_proxy' export { default as MIRPASS_V2 } from '@/contracts/mirpass_v2' export { default as MIRPASS_V3 } from '@/contracts/mirpass_v3' +export { default as MIRPASS_V4 } from '@/contracts/mirpass_v4' +export { default as MIRPASS_V4_PROXY } from '@/contracts/mirpass_v4_proxy' export { default as MIXED_ROUTE_QUOTER_V1 } from '@/contracts/mixed_route_quoter_v1' export { default as MOKI_MINTER } from '@/contracts/moki_minter' export { default as MOKI_NFT } from '@/contracts/moki_nft' @@ -325,6 +331,7 @@ export { default as MULTICALL_2 } from '@/contracts/multicall_2' export { default as MULTICALL_3 } from '@/contracts/multicall_3' export { default as MYSTERY_BOX } from '@/contracts/mystery_box' export { default as MYSTERY_BOX_CLAIMER_PROXY } from '@/contracts/mystery_box_claimer_proxy' +export { default as MYSTERY_BOX_PROXY } from '@/contracts/mystery_box_proxy' export { default as MYSTIC_GENE_VALIDATOR } from '@/contracts/mystic_gene_validator' export { default as NAME_CHECKER } from '@/contracts/name_checker' export { default as NAME_CHECKER_PROXY } from '@/contracts/name_checker_proxy' @@ -383,6 +390,7 @@ export { default as PUFF_NEW_YEAR_CLAIM } from '@/contracts/puff_new_year_claim' export { default as PUFF_NEW_YEAR_NFT } from '@/contracts/puff_new_year_nft' export { default as PUFF_ON_CHAIN } from '@/contracts/puff_on_chain' export { default as PUFF_RECORD } from '@/contracts/puff_record' +export { default as PUZZLE_CHAMPIONS_NFT } from '@/contracts/puzzle_champions_nft' export { default as PUZZLE_CHAMPIONS_NFT_PROXY } from '@/contracts/puzzle_champions_nft_proxy' export { default as PYTH_ORACLE } from '@/contracts/pyth_oracle' export { default as PYTH_UPGRADABLE_PROXY } from '@/contracts/pyth_upgradable_proxy' @@ -399,6 +407,7 @@ export { default as RELIC_APOSTLE_MANAGEMENT_PROXY } from '@/contracts/relic_apo export { default as REP16_MIGRATOR } from '@/contracts/rep16_migrator' export { default as RESERVED_APOSTLE_FORGE_PROXY } from '@/contracts/reserved_apostle_forge_proxy' export { default as RESTRICTION_CONTROL } from '@/contracts/restriction_control' +export { default as REWARD_CLAIM_PROXY } from '@/contracts/reward_claim_proxy' export { default as REWARD_DISPENSER_PROXY } from '@/contracts/reward_dispenser_proxy' export { default as REWARD_DISTRIBUTOR } from '@/contracts/reward_distributor' export { default as REWARD_DISTRIBUTOR_PROXY } from '@/contracts/reward_distributor_proxy' @@ -466,6 +475,7 @@ export { default as RONWETH_LP } from '@/contracts/ronweth_lp' export { default as RONWETH_LP_STAKING_POOL } from '@/contracts/ronweth_lp_staking_pool' export { default as ROUTER } from '@/contracts/router' export { default as RUNE } from '@/contracts/rune' +export { default as RUNES } from '@/contracts/runes' export { default as RUNIVERSE_ITEM } from '@/contracts/runiverse_item' export { default as RUNIVERSE_ITEM_MINTER } from '@/contracts/runiverse_item_minter' export { default as RUNIVERSE_LAND } from '@/contracts/runiverse_land' @@ -518,11 +528,14 @@ export { default as TMA_GACHA_PROXY } from '@/contracts/tma_gacha_proxy' export { default as TMA_ITEM } from '@/contracts/tma_item' export { default as TMA_ITEM_PROXY } from '@/contracts/tma_item_proxy' export { default as TMA_SKIN_PROXY } from '@/contracts/tma_skin_proxy' +export { default as TMA_TOKEN_PROXY } from '@/contracts/tma_token_proxy' export { default as TOKEN_ADMIN_REGISTRY } from '@/contracts/token_admin_registry' export { default as TOKEN_GATED_STAGE_LOGIC } from '@/contracts/token_gated_stage_logic' +export { default as TOKEN_MANAGER_PROXY } from '@/contracts/token_manager_proxy' export { default as TOKEN_RECEIPT_HANDLER_PROXY } from '@/contracts/token_receipt_handler_proxy' export { default as TRAIT_REGISTRY_PROXY } from '@/contracts/trait_registry_proxy' export { default as TRANSAK_MULTICALL_EXECUTER } from '@/contracts/transak_multicall_executer' +export { default as TRIBALLY_GAME_BATTLES } from '@/contracts/tribally_game_battles' export { default as TRIBES_SEASON_ONE } from '@/contracts/tribes_season_one' export { default as TRIBESTERS } from '@/contracts/tribesters' export { default as UNITROLLER } from '@/contracts/unitroller' @@ -544,12 +557,15 @@ export { default as WEAPON } from '@/contracts/weapon' export { default as WEAPON_PROXY } from '@/contracts/weapon_proxy' export { default as WEAPON_V2 } from '@/contracts/weapon_v2' export { default as WEAPON_V3 } from '@/contracts/weapon_v3' +export { default as WEAPON_V4 } from '@/contracts/weapon_v4' +export { default as WEAPON_V4_PROXY } from '@/contracts/weapon_v4_proxy' export { default as WEEKLY_CHECK_IN } from '@/contracts/weekly_check_in' export { default as WEEKLY_CHECK_IN_PROXY } from '@/contracts/weekly_check_in_proxy' export { default as WHITELIST_DEPLOYER } from '@/contracts/whitelist_deployer' export { default as WHITELIST_DEPLOYER_V2_PROXY } from '@/contracts/whitelist_deployer_v2_proxy' export { default as WHITELISTED_MINTER } from '@/contracts/whitelisted_minter' export { default as WHITELISTED_MINTER_PROXY } from '@/contracts/whitelisted_minter_proxy' +export { default as WILD_FOREST_BETA_TOKEN } from '@/contracts/wild_forest_beta_token' export { default as WILD_FOREST_CLAIM_NFT } from '@/contracts/wild_forest_claim_nft' export { default as WILD_FOREST_CLAIM_NFT_PROXY } from '@/contracts/wild_forest_claim_nft_proxy' export { default as WILD_FOREST_CLAIM_TOKEN_TRANSFER } from '@/contracts/wild_forest_claim_token_transfer'