3 txs
585 calls
constructor
constructor(address owner, address _eqp)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
eqp
viewfunction eqp() view returns (address)
getEquipmentInCooldownCount
viewfunction getEquipmentInCooldownCount(address _address, uint256 _equipmentId) view returns (uint256[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUsersEquipmentsBalance
viewfunction getUsersEquipmentsBalance(address _user) view returns (tuple[])
getUsersEquipmentsInCooldown
viewfunction getUsersEquipmentsInCooldown(address _user) view returns (tuple[])
getUsersEquipmentsLockedBalance
viewfunction getUsersEquipmentsLockedBalance(address _user) view returns (tuple[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
LOCK_ROLE
viewfunction LOCK_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
coolDownEquipment
nonpayablefunction coolDownEquipment(tuple[] ammoDataArray)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
lock
nonpayablefunction lock(address _owner, uint256 _id, uint256 _amount)
removeFromCoolDown
nonpayablefunction removeFromCoolDown(address _user, uint256 _id)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
unlock
nonpayablefunction unlock(address _owner, uint256 _id, uint256 _amount)
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
InsufficientBalance
error InsufficientBalance()
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162001f1f38038062001f1f833981016040819052620000349162000175565b6200004160008362000054565b6001600160a01b031660805250620001b8565b62000060828262000064565b5050565b620000708282620000ec565b62000060576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000a83390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff165b92915050565b60006001600160a01b03821662000111565b620001348162000117565b81146200014057600080fd5b50565b8051620001118162000129565b6000620001118262000117565b620001348162000150565b805162000111816200015d565b600080604083850312156200018d576200018d600080fd5b60006200019b858562000143565b9250506020620001ae8582860162000168565b9150509250929050565b608051611ce26200023d60003960008181610298015281816103df015281816104c00152818161062a0152818161072e015281816107c0015281816108d001528181610a3301528181610b3701528181610ca801528181610d6f01528181610e2401528181610ed601528181610f6f015281816110db015261117c0152611ce26000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063595e5b8a116100a2578063b4ea854e11610071578063b4ea854e14610247578063b5674c681461025a578063d547741f1461026d578063e2ab691d14610280578063f6f6c2491461029357600080fd5b8063595e5b8a146101f95780636c2ce7301461021957806391d148541461022c578063a217fddf1461023f57600080fd5b80632f2ff15d116100de5780632f2ff15d1461019357806336568abe146101a65780634abab9fa146101b95780635039ae51146101d957600080fd5b806301ffc9a714610110578063248a9ca31461013957806325e1bb9c146101695780632f286b1b1461017e575b600080fd5b61012361011e366004611450565b6102c7565b6040516101309190611483565b60405180910390f35b61015c6101473660046114a2565b60009081526020819052604090206001015490565b60405161013091906114c9565b61017c6101773660046114fc565b6102fe565b005b61015c600080516020611c8d83398151915281565b61017c6101a1366004611539565b610451565b61017c6101b4366004611539565b61047b565b6101cc6101c736600461156c565b6104ba565b6040516101309190611691565b6101ec6101e736600461156c565b610624565b604051610130919061171e565b61020c6102073660046114fc565b6108ca565b604051610130919061176d565b6101ec61022736600461156c565b610a2d565b61012361023a366004611539565b610c0f565b61015c600081565b61017c6102553660046117d0565b610c38565b61017c610268366004611818565b610df2565b61017c61027b366004611539565b610f0f565b61017c61028e366004611818565b610f34565b6102ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101309190611887565b60006001600160e01b03198216637965db0b60e01b14806102f857506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061030a83836108ca565b80519091504260005b828110156103c7578184828151811061032e5761032e611895565b602002602001015110156103b55760008461034a6001866118c1565b8151811061035a5761035a611895565b602002602001015190508085838151811061037757610377611895565b60209081029190910101528461038e6001866118c1565b8151811061039e5761039e611895565b600060209182029290920101525060001992909201915b806103bf816118d4565b915050610313565b506040516350c4c45160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906350c4c45190610418908890889088906004016118f7565b600060405180830381600087803b15801561043257600080fd5b505af1158015610446573d6000803e3d6000fd5b505050505050505050565b60008281526020819052604090206001015461046c81610fe0565b6104768383610fed565b505050565b6001600160a01b03811633146104ac5760405162461bcd60e51b81526004016104a390611924565b60405180910390fd5b6104b68282611071565b5050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f9d0262a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105409190611982565b905060008167ffffffffffffffff81111561055d5761055d6119a3565b6040519080825280602002602001820160405280156105a357816020015b60408051808201909152600081526060602082015281526020019060019003908161057b5790505b5090506000805b8381101561061a5760006105bf8260016119b9565b905060006105cd88836108ca565b805190915015610610576040518060400160405280838152602001828152508585815181106105fe576105fe611895565b60200260200101819052508360010193505b50506001016105aa565b5081529392505050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f9d0262a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa9190611982565b905060008167ffffffffffffffff8111156106c7576106c76119a3565b60405190808252806020026020018201604052801561070c57816020015b60408051808201909152600080825260208201528152602001906001900390816106e55790505b5090506000805b8381101561061a5760006107288260016119b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662fdd58e89846040518363ffffffff1660e01b81526004016107799291906119cc565b602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba9190611982565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630428a8cc8a856040518363ffffffff1660e01b815260040161080c9291906119cc565b602060405180830381865afa158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d9190611982565b9050600061085b8a856108ca565b9050600081518361086c91906119b9565b9050808411156108ba576040518060400160405280868152602001828661089391906118c1565b8152508888815181106108a8576108a8611895565b60209081029190910101526001909601955b8560010195505050505050610713565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ce84f2da85856040518363ffffffff1660e01b815260040161091c9291906119cc565b600060405180830381865afa158015610939573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109619190810190611ad8565b805190915060008167ffffffffffffffff811115610981576109816119a3565b6040519080825280602002602001820160405280156109aa578160200160208202803683370190505b5090506000805b83811015610a2157428582815181106109cc576109cc611895565b60200260200101511115610a19578481815181106109ec576109ec611895565b6020026020010151838381518110610a0657610a06611895565b6020026020010181815250508160010191505b6001016109b1565b50815295945050505050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f9d0262a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab39190611982565b905060008167ffffffffffffffff811115610ad057610ad06119a3565b604051908082528060200260200182016040528015610b1557816020015b6040805180820190915260008082526020820152815260200190600190039081610aee5790505b5090506000805b8381101561061a576000610b318260016119b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630428a8cc89846040518363ffffffff1660e01b8152600401610b839291906119cc565b602060405180830381865afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc49190611982565b90508015610c0557604051806040016040528083815260200182815250858581518110610bf357610bf3611895565b60200260200101819052508360010193505b5050600101610b1c565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020611c8d833981519152610c5081610fe0565b8160005b81811015610deb5736858583818110610c6f57610c6f611895565b90506060020190506000816040016020810190610c8c919061156c565b905081356020830135610ca1838260016110d6565b506000603c7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a6c7e4b6846040518263ffffffff1660e01b8152600401610cf291906114c9565b602060405180830381865afa158015610d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d339190611982565b610d3d9190611b13565b90506000610d4b8483611b13565b610d5590426119b9565b60405163f0b3f9b960e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f0b3f9b990610da890889087908690600401611b32565b600060405180830381600087803b158015610dc257600080fd5b505af1158015610dd6573d6000803e3d6000fd5b50505050866001019650505050505050610c54565b5050505050565b600080516020611c8d833981519152610e0a81610fe0565b60405163010a2a3360e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630428a8cc90610e5b90889088906004016119cc565b602060405180830381865afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190611982565b905082811015610ebf57604051631e9acf1760e31b815260040160405180910390fd5b6040516316ace98d60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b5674c689061041890889088908890600401611b32565b600082815260208190526040902060010154610f2a81610fe0565b6104768383611071565b600080516020611c8d833981519152610f4c81610fe0565b610f578484846110d6565b5060405163e2ab691d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2ab691d90610fa890879087908790600401611b32565b600060405180830381600087803b158015610fc257600080fd5b505af1158015610fd6573d6000803e3d6000fd5b5050505050505050565b610fea8133611257565b50565b610ff78282610c0f565b6104b6576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561102d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61107b8282610c0f565b156104b6576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630428a8cc86866040518363ffffffff1660e01b81526004016111279291906119cc565b602060405180830381865afa158015611144573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111689190611982565b9050600061117686866108ca565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662fdd58e88886040518363ffffffff1660e01b81526004016111c79291906119cc565b602060405180830381865afa1580156111e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112089190611982565b905060008583518561121a91906119b9565b61122491906119b9565b90508082101561124757604051631e9acf1760e31b815260040160405180910390fd5b60019450505050505b9392505050565b6112618282610c0f565b6104b65761126e816112b0565b6112798360206112c2565b60405160200161128a929190611ba0565b60408051601f198184030181529082905262461bcd60e51b82526104a391600401611c2a565b60606102f86001600160a01b03831660145b606060006112d1836002611b13565b6112dc9060026119b9565b67ffffffffffffffff8111156112f4576112f46119a3565b6040519080825280601f01601f19166020018201604052801561131e576020820181803683370190505b509050600360fc1b8160008151811061133957611339611895565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061136857611368611895565b60200101906001600160f81b031916908160001a905350600061138c846002611b13565b6113979060016119b9565b90505b600181111561140f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113cb576113cb611895565b1a60f81b8282815181106113e1576113e1611895565b60200101906001600160f81b031916908160001a90535060049490941c9361140881611c3b565b905061139a565b5083156112505760405162461bcd60e51b81526004016104a390611c52565b6001600160e01b031981165b8114610fea57600080fd5b80356102f88161142e565b60006020828403121561146557611465600080fd5b60006114718484611445565b949350505050565b8015155b82525050565b602081016102f88284611479565b8061143a565b80356102f881611491565b6000602082840312156114b7576114b7600080fd5b60006114718484611497565b8061147d565b602081016102f882846114c3565b60006001600160a01b0382166102f8565b61143a816114d7565b80356102f8816114e8565b6000806040838503121561151257611512600080fd5b600061151e85856114f1565b925050602061152f85828601611497565b9150509250929050565b6000806040838503121561154f5761154f600080fd5b600061155b8585611497565b925050602061152f858286016114f1565b60006020828403121561158157611581600080fd5b600061147184846114f1565b600061159983836114c3565b505060200190565b60006115ab825190565b80845260209384019383018060005b838110156115df5781516115ce888261158d565b9750602083019250506001016115ba565b509495945050505050565b805160009060408401906115fe85826114c3565b506020830151848203602086015261161682826115a1565b95945050505050565b600061125083836115ea565b6000611635825190565b8084526020840193508360208202850161164f8560200190565b8060005b85811015611684578484038952815161166c858261161f565b94506020830160209a909a0199925050600101611653565b5091979650505050505050565b60208082528101611250818461162b565b805160408301906116b384826114c3565b5060208201516116c660208501826114c3565b50505050565b60006116d883836116a2565b505060400190565b60006116ea825190565b80845260209384019383018060005b838110156115df57815161170d88826116cc565b9750602083019250506001016116f9565b6020808252810161125081846116e0565b6000611739825190565b80845260209384019383018060005b838110156115df57815161175c888261158d565b975060208301925050600101611748565b60208082528101611250818461172f565b60008083601f84011261179357611793600080fd5b50813567ffffffffffffffff8111156117ae576117ae600080fd5b6020830191508360608202830111156117c9576117c9600080fd5b9250929050565b600080602083850312156117e6576117e6600080fd5b823567ffffffffffffffff81111561180057611800600080fd5b61180c8582860161177e565b92509250509250929050565b60008060006060848603121561183057611830600080fd5b600061183c86866114f1565b935050602061184d86828701611497565b925050604061185e86828701611497565b9150509250925092565b60006102f8826114d7565b60006102f882611868565b61147d81611873565b602081016102f8828461187e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102f8576102f86118ab565b600060001982036118e7576118e76118ab565b5060010190565b61147d816114d7565b6060810161190582866118ee565b61191260208301856114c3565b8181036040830152611616818461172f565b602080825281016102f881602f81527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560208201526e103937b632b9903337b91039b2b63360891b604082015260600190565b80516102f881611491565b60006020828403121561199757611997600080fd5b60006114718484611977565b634e487b7160e01b600052604160045260246000fd5b808201808211156102f8576102f86118ab565b604081016119da82856118ee565b61125060208301846114c3565b601f19601f830116810181811067ffffffffffffffff82111715611a0d57611a0d6119a3565b6040525050565b6000611a1f60405190565b9050611a2b82826119e7565b919050565b600067ffffffffffffffff821115611a4a57611a4a6119a3565b5060209081020190565b6000611a67611a6284611a30565b611a14565b83815290506020808201908402830185811115611a8657611a86600080fd5b835b81811015611aaa5780611a9b8882611977565b84525060209283019201611a88565b5050509392505050565b600082601f830112611ac857611ac8600080fd5b8151611471848260208601611a54565b600060208284031215611aed57611aed600080fd5b815167ffffffffffffffff811115611b0757611b07600080fd5b61147184828501611ab4565b818102808215838204851417611b2b57611b2b6118ab565b5092915050565b60608101611b4082866118ee565b611b4d60208301856114c3565b61147160408301846114c3565b60005b83811015611b75578181015183820152602001611b5d565b50506000910152565b6000611b88825190565b611b96818560208601611b5a565b9290920192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526017016000611bd28285611b7e565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110191506114718284611b7e565b6000611c02825190565b808452602084019350611c19818560208601611b5a565b601f01601f19169290920192915050565b602080825281016112508184611bf8565b600081611c4a57611c4a6118ab565b506000190190565b60208082528181019081527f537472696e67733a20686578206c656e67746820696e73756666696369656e746040830152606082016102f856feee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751a26469706673582212201db506a25d561ead993e2e9821ab121fa640bf580ba601e76d028cdbf42f83ae64736f6c634300081300330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe00000000000000000000000013cbe21e9e18434eaa2d795c38288851fcc654bd