0 txs
0 calls
constructor
constructor(address _lootcrateNft, address _owner)
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
curDropTableId
viewfunction curDropTableId() view returns (uint256)
curLootcrateId
viewfunction curLootcrateId() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
dropTableDict
viewfunction dropTableDict(uint256) view returns (uint256 id, address contractAddress, uint256 weightSum)
getDropTableItems
viewfunction getDropTableItems(uint256 dropTableId) view returns (uint256[])
getLootBoxDropTables
viewfunction getLootBoxDropTables(uint256 lootcrateId) view returns (tuple[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUsersLootcrateBalances
viewfunction getUsersLootcrateBalances(address _user) view returns (tuple[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lnftc
viewfunction lnftc() view returns (address)
lootBoxDict
viewfunction lootBoxDict(uint256) view returns (uint256 id)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
claim
nonpayablefunction claim(uint256 lootcrateId)
createDropTable
nonpayablefunction createDropTable(address _contract, uint256[] _items, uint256 weightSum)
createLootBox
nonpayablefunction createLootBox(tuple[] dropTables)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
unpause
nonpayablefunction unpause()
events
LootcrateClaimed
event LootcrateClaimed(address indexed owner, uint256 indexed id)
Paused
event Paused(address account)
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)
Unpaused
event Unpaused(address account)
errors
ContractNotSupported
error ContractNotSupported()
DropTableRequired
error DropTableRequired()
InsufficientBalance
error InsufficientBalance()
InvalidContract
error InvalidContract()
InvalidLootBoxId
error InvalidLootBoxId()
creation bytecode
0x60a060405260006006553480156200001657600080fd5b5060405162001b7438038062001b74833981016040819052620000399162000177565b6000805460ff191681556200005b90826200006e602090811b62000a5e17901c565b506001600160a01b0316608052620001ba565b6200007a82826200007e565b5050565b6200008a8282620000ec565b6200007a5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b60006001600160a01b03821662000113565b6000620001138262000119565b62000143816200012b565b81146200014f57600080fd5b50565b8051620001138162000138565b620001438162000119565b805162000113816200015f565b600080604083850312156200018f576200018f600080fd5b60006200019d858562000152565b9250506020620001b0858286016200016a565b9150509250929050565b608051611989620001eb6000396000818161027c0152818161085301528181610b820152610c3401526119896000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806375b238fc116100b857806391d148541161007c57806391d148541461030d57806399bc641414610320578063a217fddf14610329578063d547741f14610331578063d789824f14610344578063e62a515f1461036457600080fd5b806375b238fc146102625780637baa4bab146102775780637fd5760b146102ab5780638456cb59146102f25780638c6613af146102fa57600080fd5b8063379607f51161010a578063379607f5146101e9578063398b5293146101fc5780633f4ba83a1461020f5780634db144ab146102175780635c975abb14610237578063678474c21461024257600080fd5b806301ffc9a71461014757806320830ab014610170578063248a9ca3146101905780632f2ff15d146101c157806336568abe146101d6575b600080fd5b61015a610155366004610ffa565b61036d565b6040516101679190611025565b60405180910390f35b61018361017e366004611044565b6103a4565b60405161016791906110f2565b6101b461019e366004611044565b6000908152600160208190526040909120015490565b6040516101679190611103565b6101d46101cf366004611136565b61042d565b005b6101d46101e4366004611136565b610458565b6101d46101f7366004611044565b610497565b6101d461020a36600461127a565b610689565b6101d461073d565b61022a610225366004611044565b610760565b6040516101679190611337565b60005460ff1661015a565b610255610250366004611348565b6107c5565b60405161016791906113a7565b6101b460008051602061193483398151915281565b61029e7f000000000000000000000000000000000000000000000000000000000000000081565b60405161016791906113fa565b6102e36102b9366004611044565b60026020526000908152604090208054600182015460039092015490916001600160a01b03169083565b60405161016793929190611411565b6101d461091d565b6101d461030836600461148b565b61093d565b61015a61031b366004611136565b610a0d565b6101b460055481565b6101b4600081565b6101d461033f366004611136565b610a38565b6101b4610352366004611044565b60036020526000908152604090205481565b6101b460045481565b60006001600160e01b03198216637965db0b60e01b148061039e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060036000838152602001908152602001600020600101805480602002602001604051908101604052809291908181526020016000905b82821015610422578382906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050815260200190600101906103dc565b505050509050919050565b6000828152600160208190526040909120015461044981610a68565b6104538383610a72565b505050565b6001600160a01b03811633146104895760405162461bcd60e51b8152600401610480906114d3565b60405180910390fd5b6104938282610add565b5050565b61049f610b44565b3332146104bf5760405163e47febbb60e01b815260040160405180910390fd5b6000818152600360205260409020805415806104dd57506005548154115b156104fb57604051631928e26f60e11b815260040160405180910390fd5b6105053383610b69565b604051829033907f1ce887b6bad2bc3d0423e7a86fc9f122cd0d3087068e83eec506a4e2e046763a90600090a36001810180546000805b8281101561068157600084828154811061055857610558611526565b60009182526020808320600292830201600181810154825486529284905260408520908101546001600160a01b03169750909450909290918201905b8381101561067157600383015460018401546000916105bf91899085906001600160a01b0316610ca5565b600681905560038501549091506105d69082611552565b83549091508110156106685760008382815481106105f6576105f6611526565b90600052602060002001549050886001600160a01b031663156e29f6338360016040518463ffffffff1660e01b81526004016106349392919061157b565b600060405180830381600087803b15801561064e57600080fd5b505af1158015610662573d6000803e3d6000fd5b50505050505b50600101610594565b508460010194505050505061053c565b505050505050565b6000805160206119348339815191526106a181610a68565b836001600160a01b03163b6000036106cc576040516303777f6960e51b815260040160405180910390fd5b6000600260006004600081546106e1906115b9565b9182905550815260208082019290925260400160002060045481556001810180546001600160a01b0319166001600160a01b038916179055855190925061073091600284019190870190610f78565b5060030191909155505050565b60008051602061193483398151915261075581610a68565b61075d610cef565b50565b6000818152600260208181526040928390209091018054835181840281018401909452808452606093928301828280156107b957602002820191906000526020600020905b8154815260200190600101908083116107a5575b50505050509050919050565b6060600060055467ffffffffffffffff8111156107e4576107e4611173565b60405190808252806020026020018201604052801561082957816020015b60408051808201909152600080825260208201528152602001906001900390816108025790505b509050600060015b600554811161091457604051627eeac760e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9061088990899086906004016115d3565b602060405180830381865afa1580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca91906115f9565b9050801561090b576040518060400160405280838152602001828152508484815181106108f9576108f9611526565b60200260200101819052508260010192505b50600101610831565b50815292915050565b60008051602061193483398151915261093581610a68565b61075d610d3b565b60008051602061193483398151915261095581610a68565b816000819003610978576040516305f1f38f60e51b815260040160405180910390fd5b60006003600060056000815461098d906115b9565b9182905550815260208101919091526040016000908120600554815591505b8281101561068157816001018686838181106109ca576109ca611526565b8354600181018555600094855260209094206040909102929092019260020290910190506109f88282611675565b50508080610a05906115b9565b9150506109ac565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008281526001602081905260409091200154610a5481610a68565b6104538383610add565b6104938282610a72565b61075d8133610d78565b610a7c8282610a0d565b6104935760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b610ae78282610a0d565b156104935760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60005460ff1615610b675760405162461bcd60e51b8152600401610480906116a9565b565b604051627eeac760e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90610bb890869086906004016115d3565b602060405180830381865afa158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf991906115f9565b90506001811015610c1d57604051631e9acf1760e31b815260040160405180910390fd5b60405163124d91e560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063124d91e590610c6e903390869060019060040161157b565b600060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b50505050505050565b6000804233468743888b89600654604051602001610ccb999897969594939291906116e1565b60408051601f1981840301815291905280516020909101209150505b949350505050565b610cf7610dd1565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051610d31919061177e565b60405180910390a1565b610d43610b44565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610d243390565b610d828282610a0d565b61049357610d8f81610df3565b610d9a836020610e05565b604051602001610dab9291906117d2565b60408051601f198184030181529082905262461bcd60e51b82526104809160040161185c565b60005460ff16610b675760405162461bcd60e51b815260040161048090611898565b606061039e6001600160a01b03831660145b60606000610e148360026118a8565b610e1f9060026118c7565b67ffffffffffffffff811115610e3757610e37611173565b6040519080825280601f01601f191660200182016040528015610e61576020820181803683370190505b509050600360fc1b81600081518110610e7c57610e7c611526565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610eab57610eab611526565b60200101906001600160f81b031916908160001a9053506000610ecf8460026118a8565b610eda9060016118c7565b90505b6001811115610f52576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610f0e57610f0e611526565b1a60f81b828281518110610f2457610f24611526565b60200101906001600160f81b031916908160001a90535060049490941c93610f4b816118da565b9050610edd565b508315610f715760405162461bcd60e51b815260040161048090611923565b9392505050565b828054828255906000526020600020908101928215610fb3579160200282015b82811115610fb3578251825591602001919060010190610f98565b50610fbf929150610fc3565b5090565b5b80821115610fbf5760008155600101610fc4565b6001600160e01b031981165b811461075d57600080fd5b803561039e81610fd8565b60006020828403121561100f5761100f600080fd5b6000610ce78484610fef565b8015155b82525050565b6020810161039e828461101b565b80610fe4565b803561039e81611033565b60006020828403121561105957611059600080fd5b6000610ce78484611039565b8061101f565b8051604083019061107c8482611065565b50602082015161108f6020850182611065565b50505050565b60006110a1838361106b565b505060400190565b60006110b3825190565b80845260209384019383018060005b838110156110e75781516110d68882611095565b9750602083019250506001016110c2565b509495945050505050565b60208082528101610f7181846110a9565b6020810161039e8284611065565b60006001600160a01b03821661039e565b610fe481611111565b803561039e81611122565b6000806040838503121561114c5761114c600080fd5b60006111588585611039565b92505060206111698582860161112b565b9150509250929050565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff821117156111af576111af611173565b6040525050565b60006111c160405190565b90506111cd8282611189565b919050565b600067ffffffffffffffff8211156111ec576111ec611173565b5060209081020190565b6000611209611204846111d2565b6111b6565b8381529050602080820190840283018581111561122857611228600080fd5b835b8181101561124c578061123d8882611039565b8452506020928301920161122a565b5050509392505050565b600082601f83011261126a5761126a600080fd5b8135610ce78482602086016111f6565b60008060006060848603121561129257611292600080fd5b600061129e868661112b565b935050602084013567ffffffffffffffff8111156112be576112be600080fd5b6112ca86828701611256565b92505060406112db86828701611039565b9150509250925092565b60006112f18383611065565b505060200190565b6000611303825190565b80845260209384019383018060005b838110156110e757815161132688826112e5565b975060208301925050600101611312565b60208082528101610f7181846112f9565b60006020828403121561135d5761135d600080fd5b6000610ce7848461112b565b6000611373825190565b80845260209384019383018060005b838110156110e75781516113968882611095565b975060208301925050600101611382565b60208082528101610f718184611369565b600061039e6001600160a01b0383166113cf565b90565b6001600160a01b031690565b600061039e826113b8565b600061039e826113db565b61101f816113e6565b6020810161039e82846113f1565b61101f81611111565b6060810161141f8286611065565b61142c6020830185611408565b610ce76040830184611065565b60008083601f84011261144e5761144e600080fd5b50813567ffffffffffffffff81111561146957611469600080fd5b60208301915083604082028301111561148457611484600080fd5b9250929050565b600080602083850312156114a1576114a1600080fd5b823567ffffffffffffffff8111156114bb576114bb600080fd5b6114c785828601611439565b92509250509250929050565b6020808252810161039e81602f81527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560208201526e103937b632b9903337b91039b2b63360891b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000826115615761156161153c565b500690565b600061039e6113cc8381565b61101f81611566565b606081016115898286611408565b6115966020830185611065565b610ce76040830184611572565b634e487b7160e01b600052601160045260246000fd5b600060001982036115cc576115cc6115a3565b5060010190565b604081016115e18285611408565b610f716020830184611065565b805161039e81611033565b60006020828403121561160e5761160e600080fd5b6000610ce784846115ee565b6000813561039e81611033565b61163082611566565b905550565b8082806116418161161a565b905061164d8184611627565b5050506001810160208301806116628161161a565b905061166e8184611627565b5050505050565b6104938282611635565b601081526000602082016f14185d5cd8589b194e881c185d5cd95960821b815291505b5060200190565b6020808252810161039e8161167f565b600061039e8260601b90565b600061039e826116b9565b61101f6116dc82611111565b6116c5565b60006116ed828c611065565b6020820191506116fd828b6116d0565b60148201915061170d828a611065565b60208201915061171d8289611065565b60208201915061172d8288611065565b60208201915061173d8287611065565b60208201915061174d8286611065565b60208201915061175d82856116d0565b60148201915061176d8284611065565b506020019998505050505050505050565b6020810161039e8284611408565b60005b838110156117a757818101518382015260200161178f565b50506000910152565b60006117ba825190565b6117c881856020860161178c565b9290920192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152601701600061180482856117b0565b7001034b99036b4b9b9b4b733903937b6329607d1b81526011019150610ce782846117b0565b6000611834825190565b80845260208401935061184b81856020860161178c565b601f01601f19169290920192915050565b60208082528101610f71818461182a565b601481526000602082017314185d5cd8589b194e881b9bdd081c185d5cd95960621b815291506116a2565b6020808252810161039e8161186d565b8181028082158382048514176118c0576118c06115a3565b5092915050565b8082018082111561039e5761039e6115a3565b6000816118e9576118e96115a3565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e74910190815260006116a2565b6020808252810161039e816118f156fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220cfd6dffbce539ec3b648603def6dd7870bd0fdd784449632ee737cb39e192cb164736f6c63430008110033000000000000000000000000f33180595c5e5649812aa66704666ab601f6e6a90000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe