1.8k txs
3.6k calls
constructor
constructor(address _tokiemonNFT, address _items)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
evolutionItemToTier
viewfunction evolutionItemToTier(uint256) view returns (uint256)
evolutionLevelRequirements
viewfunction evolutionLevelRequirements(uint256) view returns (uint256)
evolutionRewardPools
viewfunction evolutionRewardPools(uint256, uint256) view returns (uint256)
evolutionStates
viewfunction evolutionStates(uint256) view returns (bool isEvolving, uint256 expectedEvolution, uint256 randomNumber)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTotalLevel
viewfunction getTotalLevel(uint256 tokenId) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
items
viewfunction items() view returns (address)
maxArtSelection
viewfunction maxArtSelection() view returns (uint8)
paymentToken
viewfunction paymentToken() view returns (address)
standardEvolutionItems
viewfunction standardEvolutionItems(uint256) view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokiemonEvolutionCount
viewfunction tokiemonEvolutionCount(uint256) view returns (uint256)
tokiemonNFT
viewfunction tokiemonNFT() view returns (address)
completeEvolution
nonpayablefunction completeEvolution(uint256 tokenId, uint8 artSelection)
freeEvolution
nonpayablefunction freeEvolution(uint256 tokenId, uint256 itemId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMaxArtSelection
nonpayablefunction setMaxArtSelection(uint8 _maxArtSelection)
startEvolution
nonpayablefunction startEvolution(uint256 tokenId, uint256 itemId)
events
EvolutionCompleted
event EvolutionCompleted(uint256 indexed tokenId, uint8 artSelection, uint256 rewardItemId, uint256 expectedEvolution)
EvolutionStarted
event EvolutionStarted(uint256 indexed tokenId, uint256 itemId, uint256 expectedEvolution)
FreeTokiemonEvolved
event FreeTokiemonEvolved(uint256 indexed oldTokenId, uint256 indexed newTokenId, uint256 itemId, uint256 targetTier)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
creation bytecode
0x60e0604052610eee60c0526001805460ff191660031790553480156200002457600080fd5b506040516200219138038062002191833981016040819052620000479162000439565b6001600160a01b03808316608052811660a0526200006760003362000301565b5060017ffa3bcae139a60d3922021a29633a6c8687b9ba7e920e2516b2cfd8f5fd3e0e5181905560027ff3118d41e0deec621ee3de85ec11bfcf8aee617b34cd0b5f1496acc8de2cbdcc81905560037f9542868bcbb5bd2ea274742292a8fd9233b9d5ee15ffeb027d991190493290d88190557fbd81f30e6d05134a0a3cbae8178bdb1e53fcfd9667bf03d941a6c323ee97b5ee8390557fd143dbd9d52f6c1110738fe123d56a0da53e48385bb407540f02bf32c6f33c0c919091557faf5301d2958a90a1190c1e8f578ce22a25b33d6eb79512e878b8c82fe32ad2bc556040805160a08101825260d1815260d260208281019190915260d39282019290925260d4606082015260d5608082015260009290925260069052620001ae907f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31906005620003b0565b506040805160a08101825260d6815260d760208083019190915260d89282019290925260d9606082015260da60808201526002600052600690915262000218907f8819ef417987f8ae7a81f42cdfb18815282fe989326fbff903d13cf0e03ace29906005620003b0565b506040805160a08101825260db815260dc60208083019190915260dd9282019290925260de606082015260df60808201526003600052600690915262000282907f75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2906005620003b0565b505060076020525060327fb39221ace053465ec3453ce2b36430bd138b997ecea25c1043da0c366812b8285560647fb7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d55600360005260c87f3be6fd20d5acfde5b873b48692cd31f4d3c7e8ee8a813af4696af8859e5ca6c65562000471565b6000828152602081815260408083206001600160a01b038516845290915281205460ff16620003a6576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556200035d3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620003aa565b5060005b92915050565b828054828255906000526020600020908101928215620003f3579160200282015b82811115620003f3578251829060ff16905591602001919060010190620003d1565b506200040192915062000405565b5090565b5b8082111562000401576000815560010162000406565b80516001600160a01b03811681146200043457600080fd5b919050565b600080604083850312156200044d57600080fd5b62000458836200041c565b915062000468602084016200041c565b90509250929050565b60805160a05160c051611c726200051f600039600081816101e00152610f5101526000818161031d0152818161078101528181610ad601528181610e26015261138701526000818161021f01528181610431015281816105a0015281816108c90152818161098f01528181610bb501528181610c5301528181610ce901528181610e9e01528181610f1d015281816110e3015281816114810152818161152901526115d10152611c726000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806391d14854116100b8578063c37a518c1161007c578063c37a518c1461033f578063c56cad8e1461035e578063cb9e7cd11461037e578063d547741f1461039e578063e166ce42146103b1578063f8c93e88146103c457600080fd5b806391d14854146102d7578063a217fddf146102ea578063a33850e2146102f2578063a930022814610305578063c06fad061461031857600080fd5b80633013ce291161010a5780633013ce29146101db578063334a104c1461021a57806336568abe146102415780635223ab2d1461025457806367bd4215146102a45780638a5d1f04146102c457600080fd5b806301ffc9a714610147578063112f61c81461016f5780631845114e14610184578063248a9ca3146101975780632f2ff15d146101c8575b600080fd5b61015a6101553660046117e6565b6103e4565b60405190151581526020015b60405180910390f35b61018261017d366004611817565b61041b565b005b610182610192366004611817565b6108b3565b6101ba6101a5366004611839565b60009081526020819052604090206001015490565b604051908152602001610166565b6101826101d6366004611867565b611010565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610166565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b61018261024f366004611867565b61103b565b610287610262366004611839565b60056020526000908152604090208054600182015460029092015460ff909116919083565b604080519315158452602084019290925290820152606001610166565b6101ba6102b2366004611839565b60076020526000908152604090205481565b6101ba6102d2366004611817565b611073565b61015a6102e5366004611867565b6110a4565b6101ba600081565b6101826103003660046118a6565b6110cd565b6101ba610313366004611839565b611455565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60015461034c9060ff1681565b60405160ff9091168152602001610166565b6101ba61036c366004611839565b60036020526000908152604090205481565b6101ba61038c366004611839565b60046020526000908152604090205481565b6101826103ac366004611867565b611658565b6101826103bf3660046118cb565b61167d565b6101ba6103d2366004611839565b60026020526000908152604090205481565b60006001600160e01b03198216637965db0b60e01b148061041557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a491906118e8565b6001600160a01b0316336001600160a01b0316146104dd5760405162461bcd60e51b81526004016104d490611905565b60405180910390fd5b60008281526005602052604090205460ff161561052f5760405162461bcd60e51b815260206004820152601060248201526f416c72656164792065766f6c76696e6760801b60448201526064016104d4565b600081815260036020526040812054908190036105875760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642065766f6c7574696f6e206974656d60501b60448201526064016104d4565b604051632e2349af60e11b8152600481018490526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635c46935e90602401600060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061791908101906119e6565b50925050506001811015801561062e575060038111155b6106725760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2102a37b5b4b2b6b7b7103a34b2b960591b60448201526064016104d4565b60008481526004602052604090205461068c816001611a6a565b83146106e65760405162461bcd60e51b8152602060048201526024808201527f57726f6e672065766f6c7574696f6e2073746f6e6520666f72207468697320736044820152637461676560e01b60648201526084016104d4565b60006106f186611455565b60008581526007602052604090205490915081101561075e5760405162461bcd60e51b8152602060048201526024808201527f546f6b69656d6f6e206c6576656c20746f6f206c6f7720666f722065766f6c756044820152633a34b7b760e11b60648201526084016104d4565b60405163325e7d4f60e01b815233600482015260248101869052600160448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063325e7d4f90606401600060405180830381600087803b1580156107cd57600080fd5b505af11580156107e1573d6000803e3d6000fd5b50506040805142602082015290810189905260009250606001905060408051601f19818403018152919052805160209091012090506000610823846001611a6a565b604080516060810182526001808252602080830185815283850188815260008f8152600584528690209451855460ff1916901515178555905192840192909255905160029092019190915581518a815290810183905291925089917f41fbdd734d0ccd3ae0d3fcb6cc9b50aaf49f4ced2147045f7a9bc1ed268d8525910160405180910390a25050505050505050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c91906118e8565b6001600160a01b0316336001600160a01b03161461096c5760405162461bcd60e51b81526004016104d490611905565b604051632e2349af60e11b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635c46935e90602401600060405180830381865afa1580156109d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109fe91908101906119e6565b50925050915080600414610a605760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792046726565205469657220546f6b69656d6f6e2063616e2065766f6c6044820152623b329760e91b60648201526084016104d4565b60008381526002602052604081205490819003610ab85760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642065766f6c7574696f6e206974656d60501b60448201526064016104d4565b604051627eeac760e11b8152336004820152602481018590526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062fdd58e90604401602060405180830381865afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190611a8b565b11610b955760405162461bcd60e51b815260206004820152601f60248201527f4d697373696e672072657175697265642065766f6c7574696f6e206974656d0060448201526064016104d4565b604051632c170c9d60e21b815260048101869052600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b05c327490604401608060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c289190611abd565b604051632c170c9d60e21b815260048101889052600160248201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b05c327490604401608060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe9190611abd565b604051632c170c9d60e21b815260048101899052600260248201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b05c327490604401608060405180830381865afa158015610d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d549190611abd565b6040805160038082526080820190925291925060009190816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610d705790505090508381600081518110610dba57610dba611b38565b60200260200101819052508281600181518110610dd957610dd9611b38565b60200260200101819052508181600281518110610df857610df8611b38565b602090810291909101015260405163325e7d4f60e01b815233600482015260248101899052600160448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063325e7d4f90606401600060405180830381600087803b158015610e7257600080fd5b505af1158015610e86573d6000803e3d6000fd5b5050604051630852cd8d60e31b8152600481018c90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692506342966c689150602401600060405180830381600087803b158015610eec57600080fd5b505af1158015610f00573d6000803e3d6000fd5b50506040516306d5d9db60e41b8152600092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169150636d5d9db090610f7b9033908a908d907f0000000000000000000000000000000000000000000000000000000000000000908990600401611b4e565b6020604051808303816000875af1158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe9190611a8b565b9050808a7fc28dd6261ffb1755fd1652f8bb8cb5fb7243ba52e61a86b6176779eb340756728b89604051610ffc929190918252602082015260400190565b60405180910390a350505050505050505050565b60008281526020819052604090206001015461102b8161169f565b61103583836116ac565b50505050565b6001600160a01b03811633146110645760405163334bd91960e11b815260040160405180910390fd5b61106e828261173e565b505050565b6006602052816000526040600020818154811061108f57600080fd5b90600052602060002001600091509150505481565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115691906118e8565b6001600160a01b0316336001600160a01b0316146111865760405162461bcd60e51b81526004016104d490611905565b60015460ff90811690821611156111d75760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b21030b93a1039b2b632b1ba34b7b760591b60448201526064016104d4565b6000828152600560209081526040918290208251606081018452815460ff1615158082526001830154938201939093526002909101549281019290925261124f5760405162461bcd60e51b815260206004820152600c60248201526b4e6f742065766f6c76696e6760a01b60448201526064016104d4565b60208082018051600086815260048452604080822092909255915182526006835280822080548251818602810186019093528083529293919290918301828280156112b957602002820191906000526020600020905b8154815260200190600101908083116112a5575b50505050509050600081511161131c5760405162461bcd60e51b815260206004820152602260248201527f4e6f207265776172647320666f7220746869732065766f6c7574696f6e20746960448201526132b960f11b60648201526084016104d4565b600081825184604001516113309190611c1a565b8151811061134057611340611b38565b602090810291909101015160405163731133e960e01b8152336004820152602481018290526001604482015260806064820152600060848201529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063731133e99060a401600060405180830381600087803b1580156113cb57600080fd5b505af11580156113df573d6000803e3d6000fd5b5050506000868152600560209081526040808320805460ff19168155600181018490556002019290925585810151825160ff891681529182018590528183015290518792507fd71906899d84d49e9dbecc3bde6af667bd3e64c494f886c2540d4dba2e9e8b199181900360600190a25050505050565b604051632c170c9d60e21b81526004810182905260006024820181905290819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b05c327490604401608060405180830381865afa1580156114c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ec9190611abd565b80519091506114fe9060ff1683611a6a565b604051632c170c9d60e21b815260048101869052600160248201529092506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b05c327490604401608060405180830381865afa158015611570573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115949190611abd565b80519091506115a69060ff1684611a6a565b604051632c170c9d60e21b815260048101879052600260248201529093506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b05c327490604401608060405180830381865afa158015611618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163c9190611abd565b805190915061164e9060ff1685611a6a565b9695505050505050565b6000828152602081905260409020600101546116738161169f565b611035838361173e565b60006116888161169f565b506001805460ff191660ff92909216919091179055565b6116a981336117a9565b50565b60006116b883836110a4565b611736576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556116ee3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610415565b506000610415565b600061174a83836110a4565b15611736576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610415565b6117b382826110a4565b6117e25760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104d4565b5050565b6000602082840312156117f857600080fd5b81356001600160e01b03198116811461181057600080fd5b9392505050565b6000806040838503121561182a57600080fd5b50508035926020909101359150565b60006020828403121561184b57600080fd5b5035919050565b6001600160a01b03811681146116a957600080fd5b6000806040838503121561187a57600080fd5b82359150602083013561188c81611852565b809150509250929050565b60ff811681146116a957600080fd5b600080604083850312156118b957600080fd5b82359150602083013561188c81611897565b6000602082840312156118dd57600080fd5b813561181081611897565b6000602082840312156118fa57600080fd5b815161181081611852565b6020808252600f908201526e2737ba103a37b5b2b71037bbb732b960891b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561195f578181015183820152602001611947565b50506000910152565b600082601f83011261197957600080fd5b815167ffffffffffffffff808211156119945761199461192e565b604051601f8301601f19908116603f011681019082821181831017156119bc576119bc61192e565b816040528381528660208588010111156119d557600080fd5b61164e846020830160208901611944565b600080600080608085870312156119fc57600080fd5b845167ffffffffffffffff80821115611a1457600080fd5b611a2088838901611968565b95506020870151915080821115611a3657600080fd5b50611a4387828801611968565b93505060408501519150606085015160058110611a5f57600080fd5b939692955090935050565b8082018082111561041557634e487b7160e01b600052601160045260246000fd5b600060208284031215611a9d57600080fd5b5051919050565b805163ffffffff81168114611ab857600080fd5b919050565b600060808284031215611acf57600080fd5b6040516080810181811067ffffffffffffffff82111715611af257611af261192e565b6040528251611b0081611897565b8152611b0e60208401611aa4565b6020820152611b1f60408401611aa4565b6040820152606083015160608201528091505092915050565b634e487b7160e01b600052603260045260246000fd5b600060018060a01b03808816835260208781850152604060a0604086015287518060a0870152611b848160c08801858c01611944565b601f19601f8201168601905060c081016060858a1660608901526080955060c088840301608089015281895180845260e085019150868b019450600093505b80841015611c08578451805160ff1683528781015163ffffffff9081168985015287820151168784015283015183830152938601936001939093019290870190611bc3565b509d9c50505050505050505050505050565b600082611c3757634e487b7160e01b600052601260045260246000fd5b50069056fea26469706673582212202211abea977c80eece0403ef2ba6a5846fd55297df4edf852f0497d50b0c0a1164736f6c63430008180033000000000000000000000000802187c392b15cdc8df8aa05bfef314df1f65c62000000000000000000000000ad574f7f4eb563b0ccdcca0d7d7628aeaf071d65