3.4k txs
5.2k calls
constructor
constructor(address _tokiemonItems, address _degeniaSkills)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
degeneracyConfigs
viewfunction degeneracyConfigs(uint256) view returns (uint256 requiredLevel, uint256 xpAmount, string action)
degeniaSkills
viewfunction degeniaSkills() view returns (address)
getDegeneracyItemConfigs
viewfunction getDegeneracyItemConfigs(uint256[] itemIds) view returns (uint256[] levels, uint256[] xpAmounts, string[] actions)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
maxConsumptionAmount
viewfunction maxConsumptionAmount() view returns (uint256)
SKILL_ID
viewfunction SKILL_ID() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokiemonItems
viewfunction tokiemonItems() view returns (address)
bulkRemoveDegeneracyConfigs
nonpayablefunction bulkRemoveDegeneracyConfigs(uint256[] itemIds)
bulkSetDegeneracyConfigs
nonpayablefunction bulkSetDegeneracyConfigs(uint256[] itemIds, uint256[] requiredLevels, uint256[] xpAmounts, string[] actions)
degenTime
nonpayablefunction degenTime(uint256 itemId, uint256 amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMaxConsumptionAmount
nonpayablefunction setMaxConsumptionAmount(uint256 newAmount)
events
DegeneracyConfigSet
event DegeneracyConfigSet(uint256 indexed itemId, uint256 requiredLevel, uint256 xpAmount, string action)
DegeneracyConfigsRemoved
event DegeneracyConfigsRemoved(uint256[] itemIds)
DegeneracyItemConsumed
event DegeneracyItemConsumed(address indexed account, uint256 indexed itemId, uint256 amount, uint256 totalXpGained)
MaxConsumptionAmountUpdated
event MaxConsumptionAmountUpdated(uint256 oldAmount, uint256 newAmount)
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)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60c06040526101f46002553480156200001757600080fd5b50604051620018b2380380620018b28339810160408190526200003a9162000133565b600180556001600160a01b03808316608052811660a0526200005e60003362000067565b5050506200016b565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166200010c576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620000c33390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000110565b5060005b92915050565b80516001600160a01b03811681146200012e57600080fd5b919050565b600080604083850312156200014757600080fd5b620001528362000116565b9150620001626020840162000116565b90509250929050565b60805160a05161170c620001a6600039600081816101530152818161060601526107a301526000818161025c01526106db015261170c6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806391d14854116100a2578063b4545ea611610071578063b4545ea614610244578063bdf46b2814610257578063c276a3f81461027e578063ccdf972d146102a0578063d547741f146102b357600080fd5b806391d148541461020357806398e8b0f814610216578063a217fddf14610229578063b2dd2e4c1461023157600080fd5b806325205e47116100de57806325205e47146101b05780632f2ff15d146101d257806336568abe146101e75780638747916c146101fa57600080fd5b806301ffc9a7146101105780631776666c1461013857806323e21f9b1461014e578063248a9ca31461018d575b600080fd5b61012361011e3660046110fa565b6102c6565b60405190151581526020015b60405180910390f35b610140600181565b60405190815260200161012f565b6101757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012f565b61014061019b36600461112b565b60009081526020819052604090206001015490565b6101c36101be36600461112b565b6102fd565b60405161012f9392919061118a565b6101e56101e03660046111b2565b6103a8565b005b6101e56101f53660046111b2565b6103d3565b61014060025481565b6101236102113660046111b2565b61040b565b6101e56102243660046111ee565b610434565b610140600081565b6101e561023f36600461125c565b610853565b6101e561025236600461129e565b610974565b6101757f000000000000000000000000000000000000000000000000000000000000000081565b61029161028c36600461125c565b610bf9565b60405161012f9392919061139e565b6101e56102ae36600461112b565b610e3a565b6101e56102c13660046111b2565b610ecf565b60006001600160e01b03198216637965db0b60e01b14806102f757506301ffc9a760e01b6001600160e01b03198316145b92915050565b6003602052600090815260409020805460018201546002830180549293919261032590611425565b80601f016020809104026020016040519081016040528092919081815260200182805461035190611425565b801561039e5780601f106103735761010080835404028352916020019161039e565b820191906000526020600020905b81548152906001019060200180831161038157829003601f168201915b5050505050905083565b6000828152602081905260409020600101546103c381610ef4565b6103cd8383610f01565b50505050565b6001600160a01b03811633146103fc5760405163334bd91960e11b815260040160405180910390fd5b6104068282610f93565b505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61043c610ffe565b600060036000848152602001908152602001600020604051806060016040529081600082015481526020016001820154815260200160028201805461048090611425565b80601f01602080910402602001604051908101604052809291908181526020018280546104ac90611425565b80156104f95780601f106104ce576101008083540402835291602001916104f9565b820191906000526020600020905b8154815290600101906020018083116104dc57829003601f168201915b505050505081525050905060008160200151116105535760405162461bcd60e51b81526020600482015260136024820152724974656d206e6f7420636f6e73756d61626c6560681b60448201526064015b60405180910390fd5b6000821161059f5760405162461bcd60e51b81526020600482015260196024820152785765206e65656420736f6d65206e756d62657273206865726560381b604482015260640161054a565b6002548211156105e15760405162461bcd60e51b815260206004820152600d60248201526c0546f6f206675636b656420757609c1b604482015260640161054a565b8051156106d95780516040516344098d2760e01b8152336004820152600160248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906344098d2790604401602060405180830381865afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610679919061145f565b10156106d95760405162461bcd60e51b815260206004820152602960248201527f43276d6f6e206c696c2062726f2c20796f75206e65656420746f206c6576656c604482015268081d5c08199a5c9cdd60ba1b606482015260840161054a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636124d0f23361071286611028565b61071b86611028565b6040518463ffffffff1660e01b815260040161073993929190611478565b600060405180830381600087803b15801561075357600080fd5b505af1158015610767573d6000803e3d6000fd5b50505050600082826020015161077d91906114b8565b6040516330e327ef60e21b815233600482015260016024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c38c9fbc90606401600060405180830381600087803b1580156107ef57600080fd5b505af1158015610803573d6000803e3d6000fd5b505060408051868152602081018590528793503392507ff8d8d111daf40ebec272af97280e84979119ef557147701cb595a629a3fa6729910160405180910390a3505061084f60018055565b5050565b600061085e81610ef4565b60005b8281101561093557600060036000868685818110610881576108816114dd565b90506020020135815260200190815260200160002060010154116108df5760405162461bcd60e51b815260206004820152601560248201527410dbdb999a59c8191bd95cc81b9bdd08195e1a5cdd605a1b604482015260640161054a565b600360008585848181106108f5576108f56114dd565b905060200201358152602001908152602001600020600080820160009055600182016000905560028201600061092b91906110ac565b5050600101610861565b507f4c62ce47dc8ef9a4bf575435352f22be67c49e0ea491039bc8953fe6daaa9a0783836040516109679291906114f3565b60405180910390a1505050565b600061097f81610ef4565b878614801561098d57508784145b801561099857508782145b6109dc5760405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604482015260640161054a565b60005b88811015610bed5760008686838181106109fb576109fb6114dd565b9050602002013511610a435760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5908161408185b5bdd5b9d607a1b604482015260640161054a565b6040518060600160405280898984818110610a6057610a606114dd565b905060200201358152602001878784818110610a7e57610a7e6114dd565b905060200201358152602001858584818110610a9c57610a9c6114dd565b9050602002810190610aae919061152c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250600392508d90508c85818110610afb57610afb6114dd565b90506020020135815260200190815260200160002060008201518160000155602082015181600101556040820151816002019081610b3991906115d9565b50905050898982818110610b4f57610b4f6114dd565b905060200201357f8768900f2c79c7e1b8cf5f329be8e4a94f2b8070244862af838e94aecccb14dc898984818110610b8957610b896114dd565b90506020020135888885818110610ba257610ba26114dd565b90506020020135878786818110610bbb57610bbb6114dd565b9050602002810190610bcd919061152c565b604051610bdd9493929190611699565b60405180910390a26001016109df565b50505050505050505050565b606080808367ffffffffffffffff811115610c1657610c16611573565b604051908082528060200260200182016040528015610c3f578160200160208202803683370190505b5092508367ffffffffffffffff811115610c5b57610c5b611573565b604051908082528060200260200182016040528015610c84578160200160208202803683370190505b5091508367ffffffffffffffff811115610ca057610ca0611573565b604051908082528060200260200182016040528015610cd357816020015b6060815260200190600190039081610cbe5790505b50905060005b84811015610e3257600060036000888885818110610cf957610cf96114dd565b9050602002013581526020019081526020016000206040518060600160405290816000820154815260200160018201548152602001600282018054610d3d90611425565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6990611425565b8015610db65780601f10610d8b57610100808354040283529160200191610db6565b820191906000526020600020905b815481529060010190602001808311610d9957829003601f168201915b50505050508152505090508060000151858381518110610dd857610dd86114dd565b6020026020010181815250508060200151848381518110610dfb57610dfb6114dd565b6020026020010181815250508060400151838381518110610e1e57610e1e6114dd565b602090810291909101015250600101610cd9565b509250925092565b6000610e4581610ef4565b60008211610e915760405162461bcd60e51b81526020600482015260196024820152785765206e65656420736f6d65206e756d62657273206865726560381b604482015260640161054a565b600280549083905560408051828152602081018590527f6c54ff458b5f8f77ed84cb47a8856a8c7848f8a779aafd2f490115a3fd5e8b219101610967565b600082815260208190526040902060010154610eea81610ef4565b6103cd8383610f93565b610efe8133611073565b50565b6000610f0d838361040b565b610f8b576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610f433390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102f7565b5060006102f7565b6000610f9f838361040b565b15610f8b576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102f7565b60026001540361102157604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611062576110626114dd565b602090810291909101015292915050565b61107d828261040b565b61084f5760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161054a565b5080546110b890611425565b6000825580601f106110c8575050565b601f016020900490600052602060002090810190610efe91905b808211156110f657600081556001016110e2565b5090565b60006020828403121561110c57600080fd5b81356001600160e01b03198116811461112457600080fd5b9392505050565b60006020828403121561113d57600080fd5b5035919050565b6000815180845260005b8181101561116a5760208185018101518683018201520161114e565b506000602082860101526020601f19601f83011685010191505092915050565b8381528260208201526060604082015260006111a96060830184611144565b95945050505050565b600080604083850312156111c557600080fd5b8235915060208301356001600160a01b03811681146111e357600080fd5b809150509250929050565b6000806040838503121561120157600080fd5b50508035926020909101359150565b60008083601f84011261122257600080fd5b50813567ffffffffffffffff81111561123a57600080fd5b6020830191508360208260051b850101111561125557600080fd5b9250929050565b6000806020838503121561126f57600080fd5b823567ffffffffffffffff81111561128657600080fd5b61129285828601611210565b90969095509350505050565b6000806000806000806000806080898b0312156112ba57600080fd5b883567ffffffffffffffff808211156112d257600080fd5b6112de8c838d01611210565b909a50985060208b01359150808211156112f757600080fd5b6113038c838d01611210565b909850965060408b013591508082111561131c57600080fd5b6113288c838d01611210565b909650945060608b013591508082111561134157600080fd5b5061134e8b828c01611210565b999c989b5096995094979396929594505050565b60008151808452602080850194506020840160005b8381101561139357815187529582019590820190600101611377565b509495945050505050565b6060815260006113b16060830186611362565b6020838203818501526113c48287611362565b915083820360408501528185518084528284019150828160051b85010183880160005b8381101561141557601f19878403018552611403838351611144565b948601949250908501906001016113e7565b50909a9950505050505050505050565b600181811c9082168061143957607f821691505b60208210810361145957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561147157600080fd5b5051919050565b6001600160a01b038416815260606020820181905260009061149c90830185611362565b82810360408401526114ae8185611362565b9695505050505050565b80820281158282048414176102f757634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252810182905260006001600160fb1b0383111561151357600080fd5b8260051b80856040850137919091016040019392505050565b6000808335601e1984360301811261154357600080fd5b83018035915067ffffffffffffffff82111561155e57600080fd5b60200191503681900382131561125557600080fd5b634e487b7160e01b600052604160045260246000fd5b601f821115610406576000816000526020600020601f850160051c810160208610156115b25750805b601f850160051c820191505b818110156115d1578281556001016115be565b505050505050565b815167ffffffffffffffff8111156115f3576115f3611573565b611607816116018454611425565b84611589565b602080601f83116001811461163c57600084156116245750858301515b600019600386901b1c1916600185901b1785556115d1565b600085815260208120601f198616915b8281101561166b5788860151825594840194600190910190840161164c565b50858210156116895787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f909201601f19160101939250505056fea2646970667358221220665f7f817aff4740282680f2e424aa953acf1582f465cf9365ed7b837f229dee64736f6c63430008180033000000000000000000000000ad574f7f4eb563b0ccdcca0d7d7628aeaf071d65000000000000000000000000525416a8e3149f1127ba3de8e472f42d727b9170