0 txs
0 calls
constructor
constructor(address _owner, address _simulationContract, address _publisherNftContract)
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
backendSigner
viewfunction backendSigner() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getNftsOnCooldown
viewfunction getNftsOnCooldown(address _address) view returns (tuple[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hashMessage
purefunction hashMessage(uint256 lootcrateId, uint256 startTime, uint256 fee, address tokenAddress) pure returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lootcrateIds
viewfunction lootcrateIds(uint8) view returns (uint256)
nftCooldownExpiry
viewfunction nftCooldownExpiry(uint256) view returns (uint256)
nftCooldownPeriod
viewfunction nftCooldownPeriod() view returns (uint256)
publishPrice
viewfunction publishPrice() view returns (uint256)
recoverSigner
purefunction recoverSigner(uint256 lootcrateId, uint256 startTime, uint256 fee, address tokenAddress, bytes32 r, bytes32 s, uint8 v) pure returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
treasuryAddress
viewfunction treasuryAddress() view returns (address)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
publishGangwar
payablefunction publishGangwar(uint256 publisherNftId, uint256 lootcrateId, uint8 paymentMethod, uint256 maxPlayer, uint256 fee, uint256 startTime, address tokenAddress, bytes32 _r, bytes32 _s, uint8 _v) payable
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setBackendSigner
nonpayablefunction setBackendSigner(address _backendSigner)
setLootCrateId
nonpayablefunction setLootCrateId(uint8 _lootcrateType, uint256 _id)
setLootCrateIdsInBatch
nonpayablefunction setLootCrateIdsInBatch(uint8[] _lootcrateTypes, uint256[] _ids)
setNftCooldownPeriod
nonpayablefunction setNftCooldownPeriod(uint256 _period)
setPublishPrice
nonpayablefunction setPublishPrice(uint256 _publishPrice)
setTreasury
nonpayablefunction setTreasury(address _treasuryAddress)
events
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
FailedToSendEther
error FailedToSendEther()
InvalidMessage
error InvalidMessage()
InvalidTimeSlot
error InvalidTimeSlot()
NFTStillOnCooldown
error NFTStillOnCooldown()
PriceMisMatched
error PriceMisMatched()
UnauthorizedAccess
error UnauthorizedAccess()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001d7438038062001d74833981016040819052620000349162000198565b6200004160008462000077565b600880546001600160a01b039283166001600160a01b0319918216179091556009805493909216921691909117905550620001f0565b62000083828262000087565b5050565b6200009382826200010f565b62000083576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000cb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff165b92915050565b60006001600160a01b03821662000134565b62000157816200013a565b81146200016357600080fd5b50565b805162000134816200014c565b600062000134826200013a565b620001578162000173565b8051620001348162000180565b600080600060608486031215620001b257620001b2600080fd5b6000620001c0868662000166565b9350506020620001d3868287016200018b565b9250506040620001e6868287016200018b565b9150509250925092565b611b7480620002006000396000f3fe60806040526004361061014b5760003560e01c8063667b3521116100b6578063a217fddf1161006f578063a217fddf146103da578063b0bcfbb3146103ef578063c5f956af1461040f578063cdb6465a1461042f578063d547741f1461044f578063f0f442601461046f57600080fd5b8063667b35211461031f57806366dc3f4b1461034c57806375b238fc1461036257806376a7af101461038457806391d14854146103a4578063971c4845146103c457600080fd5b80632d662f89116101085780632d662f891461025f5780632f2ff15d1461027f57806336568abe1461029f57806336f95670146102bf578063600d09f5146102df57806365d65e86146102ff57600080fd5b806301ffc9a7146101505780630ac8bb041461018657806315b7ddd5146101c057806316aa8055146101d5578063248a9ca3146102025780632cb9519114610232575b600080fd5b34801561015c57600080fd5b5061017061016b366004611004565b61048f565b60405161017d9190611037565b60405180910390f35b34801561019257600080fd5b506101b36101a136600461105d565b60026020526000908152604090205481565b60405161017d9190611084565b6101d36101ce3660046110f4565b6104c6565b005b3480156101e157600080fd5b506101f56101f03660046111d0565b6107c2565b60405161017d9190611278565b34801561020e57600080fd5b506101b361021d366004611286565b60009081526020819052604090206001015490565b34801561023e57600080fd5b506101b361024d366004611286565b60016020526000908152604090205481565b34801561026b57600080fd5b506101d361027a366004611286565b610856565b34801561028b57600080fd5b506101d361029a3660046112a7565b610874565b3480156102ab57600080fd5b506101d36102ba3660046112a7565b61089e565b3480156102cb57600080fd5b506101d36102da3660046112e4565b6108dd565b3480156102eb57600080fd5b506101d36102fa366004611286565b610918565b34801561030b57600080fd5b506006546101f5906001600160a01b031681565b34801561032b57600080fd5b5061033f61033a3660046112e4565b610936565b60405161017d9190611386565b34801561035857600080fd5b506101b360075481565b34801561036e57600080fd5b506101b3600080516020611b1f83398151915281565b34801561039057600080fd5b506101d361039f366004611513565b610abe565b3480156103b057600080fd5b506101706103bf3660046112a7565b610b71565b3480156103d057600080fd5b506101b360055481565b3480156103e657600080fd5b506101b3600081565b3480156103fb57600080fd5b506101b361040a36600461157b565b610b9a565b34801561041b57600080fd5b506004546101f5906001600160a01b031681565b34801561043b57600080fd5b506101d361044a3660046115df565b610bd6565b34801561045b57600080fd5b506101d361046a3660046112a7565b610c2c565b34801561047b57600080fd5b506101d361048a3660046112e4565b610c51565b60006001600160e01b03198216637965db0b60e01b14806104c057506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006104d78a8789888888886107c2565b6006549091506001600160a01b0380831691161461050857604051636eca2e4b60e01b815260040160405180910390fd5b6006546001600160a01b0316331461060c576008546040516331a9108f60e11b81526000916001600160a01b031690636352211e9061054b908f90600401611084565b6020604051808303816000875af115801561056a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058e919061161d565b9050336001600160a01b038216146105b957604051631a27eac360e11b815260040160405180910390fd5b60055434146105db57604051639d8b0db160e01b815260040160405180910390fd5b60008c81526001602052604090205442101561060a576040516368e1fc9160e11b815260040160405180910390fd5b505b60008681526003602052604090205460ff161561063c5760405163ac0e901760e01b815260040160405180910390fd5b60006040518061016001604052808a81526020018b60028111156106625761066261163e565b815260208082018b905260408083018b9052600a6060840152608083018f90527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e05460a08401527f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c5460c0840152600360005260029091527f88601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c35460e08301526001600160a01b038981166101008401523361012090930192909252600954905163f66f84d760e01b8152929350169063f66f84d790610745908490600401611758565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b5050506000888152600360205260409020805460ff191660011790555060075461079d904261177d565b60008d8152600160205260409020556107b4610c8c565b505050505050505050505050565b6000806107d189898989610b9a565b6040516020016107e19190611790565b6040516020818303038152906040528051906020012090506001818487876040516000815260200160405260405161081c94939291906117d4565b6020604051602081039080840390855afa15801561083e573d6000803e3d6000fd5b5050604051601f1901519a9950505050505050505050565b600080516020611b1f83398151915261086e81610d11565b50600755565b60008281526020819052604090206001015461088f81610d11565b6108998383610d1b565b505050565b6001600160a01b03811633146108cf5760405162461bcd60e51b81526004016108c690611812565b60405180910390fd5b6108d98282610d9f565b5050565b600080516020611b1f8339815191526108f581610d11565b50600680546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020611b1f83398151915261093081610d11565b50600555565b600854604051632118854760e21b81526060916000916001600160a01b0390911690638462151c9061096c908690600401611278565b600060405180830381865afa158015610989573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109b191908101906118e5565b8051909150600060ff821667ffffffffffffffff8111156109d4576109d4611397565b604051908082528060200260200182016040528015610a1957816020015b60408051808201909152600080825260208201528152602001906001900390816109f25790505b50905060005b8260ff168160ff161015610ab5576040518060400160405280858360ff1681518110610a4d57610a4d611920565b6020026020010151815260200160016000878560ff1681518110610a7357610a73611920565b6020026020010151815260200190815260200160002054815250828260ff1681518110610aa257610aa2611920565b6020908102919091010152600101610a1f565b50949350505050565b600080516020611b1f833981519152610ad681610d11565b60005b82518161ffff161015610b6b57828161ffff1681518110610afc57610afc611920565b602002602001015160026000868461ffff1681518110610b1e57610b1e611920565b60200260200101516003811115610b3757610b3761163e565b6003811115610b4857610b4861163e565b815260208101919091526040016000205580610b6381611936565b915050610ad9565b50505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008085858585604051602001610bb4949392919061197d565b60408051808303601f1901815291905280516020909101209695505050505050565b600080516020611b1f833981519152610bee81610d11565b8160026000856003811115610c0557610c0561163e565b6003811115610c1657610c1661163e565b8152602081019190915260400160002055505050565b600082815260208190526040902060010154610c4781610d11565b6108998383610d9f565b600080516020611b1f833981519152610c6981610d11565b50600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546040516000916001600160a01b0316904790610caa906119c5565b60006040518083038185875af1925050503d8060008114610ce7576040519150601f19603f3d011682016040523d82523d6000602084013e610cec565b606091505b5050905080610d0e57604051630dcf35db60e41b815260040160405180910390fd5b50565b610d0e8133610e04565b610d258282610b71565b6108d9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610d5b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610da98282610b71565b156108d9576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610e0e8282610b71565b6108d957610e1b81610e5d565b610e26836020610e6f565b604051602001610e37929190611a13565b60408051601f198184030181529082905262461bcd60e51b82526108c691600401611a9d565b60606104c06001600160a01b03831660145b60606000610e7e836002611aae565b610e8990600261177d565b67ffffffffffffffff811115610ea157610ea1611397565b6040519080825280601f01601f191660200182016040528015610ecb576020820181803683370190505b509050600360fc1b81600081518110610ee657610ee6611920565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610f1557610f15611920565b60200101906001600160f81b031916908160001a9053506000610f39846002611aae565b610f4490600161177d565b90505b6001811115610fbc576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610f7857610f78611920565b1a60f81b828281518110610f8e57610f8e611920565b60200101906001600160f81b031916908160001a90535060049490941c93610fb581611acd565b9050610f47565b508315610fdb5760405162461bcd60e51b81526004016108c690611ae4565b9392505050565b6001600160e01b031981165b8114610d0e57600080fd5b80356104c081610fe2565b60006020828403121561101957611019600080fd5b60006110258484610ff9565b949350505050565b8015155b82525050565b602081016104c0828461102d565b60048110610d0e57600080fd5b80356104c081611045565b60006020828403121561107257611072600080fd5b60006110258484611052565b80611031565b602081016104c0828461107e565b80610fee565b80356104c081611092565b60038110610d0e57600080fd5b80356104c0816110a3565b60006001600160a01b0382166104c0565b610fee816110bb565b80356104c0816110cc565b60ff8116610fee565b80356104c0816110e0565b6000806000806000806000806000806101408b8d03121561111757611117600080fd5b60006111238d8d611098565b9a505060206111348d828e01611098565b99505060406111458d828e016110b0565b98505060606111568d828e01611098565b97505060806111678d828e01611098565b96505060a06111788d828e01611098565b95505060c06111898d828e016110d5565b94505060e061119a8d828e01611098565b9350506101006111ac8d828e01611098565b9250506101206111be8d828e016110e9565b9150509295989b9194979a5092959850565b600080600080600080600060e0888a0312156111ee576111ee600080fd5b60006111fa8a8a611098565b975050602061120b8a828b01611098565b965050604061121c8a828b01611098565b955050606061122d8a828b016110d5565b945050608061123e8a828b01611098565b93505060a061124f8a828b01611098565b92505060c06112608a828b016110e9565b91505092959891949750929550565b611031816110bb565b602081016104c0828461126f565b60006020828403121561129b5761129b600080fd5b60006110258484611098565b600080604083850312156112bd576112bd600080fd5b60006112c98585611098565b92505060206112da858286016110d5565b9150509250929050565b6000602082840312156112f9576112f9600080fd5b600061102584846110d5565b80516040830190611316848261107e565b506020820151610b6b602085018261107e565b60006113358383611305565b505060400190565b6000611347825190565b80845260209384019383018060005b8381101561137b57815161136a8882611329565b975060208301925050600101611356565b509495945050505050565b60208082528101610fdb818461133d565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff821117156113d3576113d3611397565b6040525050565b60006113e560405190565b90506113f182826113ad565b919050565b600067ffffffffffffffff82111561141057611410611397565b5060209081020190565b600061142d611428846113f6565b6113da565b8381529050602080820190840283018581111561144c5761144c600080fd5b835b8181101561147057806114618882611052565b8452506020928301920161144e565b5050509392505050565b600082601f83011261148e5761148e600080fd5b813561102584826020860161141a565b60006114ac611428846113f6565b838152905060208082019084028301858111156114cb576114cb600080fd5b835b8181101561147057806114e08882611098565b845250602092830192016114cd565b600082601f83011261150357611503600080fd5b813561102584826020860161149e565b6000806040838503121561152957611529600080fd5b823567ffffffffffffffff81111561154357611543600080fd5b61154f8582860161147a565b925050602083013567ffffffffffffffff81111561156f5761156f600080fd5b6112da858286016114ef565b6000806000806080858703121561159457611594600080fd5b60006115a08787611098565b94505060206115b187828801611098565b93505060406115c287828801611098565b92505060606115d3878288016110d5565b91505092959194509250565b600080604083850312156115f5576115f5600080fd5b60006116018585611052565b92505060206112da85828601611098565b80516104c0816110cc565b60006020828403121561163257611632600080fd5b60006110258484611612565b634e487b7160e01b600052602160045260246000fd5b60038110610d0e57610d0e61163e565b806113f181611654565b60006104c082611664565b6110318161166e565b8051610160830190611694848261107e565b5060208201516116a76020850182611679565b5060408201516116ba604085018261107e565b5060608201516116cd606085018261107e565b5060808201516116e0608085018261107e565b5060a08201516116f360a085018261107e565b5060c082015161170660c085018261107e565b5060e082015161171960e085018261107e565b5061010082015161172e61010085018261107e565b5061012082015161174361012085018261126f565b50610140820151610b6b61014085018261126f565b61016081016104c08284611682565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c0576104c0611767565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c0160006117c2828461107e565b50602001919050565b60ff8116611031565b608081016117e2828761107e565b6117ef60208301866117cb565b6117fc604083018561107e565b611809606083018461107e565b95945050505050565b602080825281016104c081602f81527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560208201526e103937b632b9903337b91039b2b63360891b604082015260600190565b80516104c081611092565b600061187e611428846113f6565b8381529050602080820190840283018581111561189d5761189d600080fd5b835b8181101561147057806118b28882611865565b8452506020928301920161189f565b600082601f8301126118d5576118d5600080fd5b8151611025848260208601611870565b6000602082840312156118fa576118fa600080fd5b815167ffffffffffffffff81111561191457611914600080fd5b611025848285016118c1565b634e487b7160e01b600052603260045260246000fd5b61ffff16600061fffe19820161194e5761194e611767565b5060010190565b60006104c08260601b90565b60006104c082611955565b611031611978826110bb565b611961565b6000611989828761107e565b602082019150611999828661107e565b6020820191506119a9828561107e565b6020820191506119b9828461196c565b50601401949350505050565b6000816104c0565b60005b838110156119e85781810151838201526020016119d0565b50506000910152565b60006119fb825190565b611a098185602086016119cd565b9290920192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526017016000611a4582856119f1565b7001034b99036b4b9b9b4b733903937b6329607d1b8152601101915061102582846119f1565b6000611a75825190565b808452602084019350611a8c8185602086016119cd565b601f01601f19169290920192915050565b60208082528101610fdb8184611a6b565b818102808215838204851417611ac657611ac6611767565b5092915050565b600081611adc57611adc611767565b506000190190565b60208082528181019081527f537472696e67733a20686578206c656e67746820696e73756666696369656e746040830152606082016104c056fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a264697066735822122094d1f86477fbfe60eddee8649d2dc8501bde9d59eb71b64771bb597036b04d6964736f6c634300081100330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe0000000000000000000000003883618c859b7fff96374d3587566690ca3f343c0000000000000000000000005607bfff13a6f61d11c4cfcf19d35cb6d084e717