6 txs
2.1k calls
constructor
constructor(address _owner, uint256 _maxAbility)
functions
addressLockedAssets
viewfunction addressLockedAssets(address, uint256) view returns (uint256)
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
availableBalanceOf
viewfunction availableBalanceOf(address _owner, uint256 _id) view returns (uint256)
BURNER_ROLE
viewfunction BURNER_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
LOCK_ROLE
viewfunction LOCK_ROLE() view returns (bytes32)
maxAbility
viewfunction maxAbility() view returns (uint256)
mintedCount
viewfunction mintedCount(uint256) view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalSupply
viewfunction totalSupply(uint256) view returns (uint256)
usersAbilities
viewfunction usersAbilities(address, uint256) view returns (uint256)
burn
nonpayablefunction burn(uint256 _id, uint256 _count)
burnFrom
nonpayablefunction burnFrom(address _address, uint256 _id, uint256 _count)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
lock
nonpayablefunction lock(address _owner, uint256 _id, uint256 _amount)
mint
nonpayablefunction mint(address _address, uint256 _id, uint256 _count)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMaxAbility
nonpayablefunction setMaxAbility(uint256 _maxAbility)
unlock
nonpayablefunction unlock(address _owner, uint256 _id, uint256 _amount)
events
Burnt
event Burnt(address indexed owner, uint256 indexed id, uint256 count)
Locked
event Locked(address indexed owner, uint256 indexed id, uint256 amount)
Minted
event Minted(address indexed owner, uint256 indexed id, uint256 count)
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)
Unlocked
event Unlocked(address indexed owner, uint256 indexed id, uint256 amount)
errors
InsufficientBalance
error InsufficientBalance()
InvalidItem
error InvalidItem()
creation bytecode
0x60806040523480156200001157600080fd5b50604051620011063803806200110683398101604081905262000034916200015b565b620000416000836200004b565b600555506200019e565b6200005782826200005b565b5050565b620000678282620000e3565b62000057576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200009f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff165b92915050565b60006001600160a01b03821662000108565b6200012b816200010e565b81146200013757600080fd5b50565b8051620001088162000120565b806200012b565b8051620001088162000147565b60008060408385031215620001735762000173600080fd5b60006200018185856200013a565b925050602062000194858286016200014e565b9150509250929050565b610f5880620001ae6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063511cd8cf116100c3578063b5674c681161007c578063b5674c6814610316578063bd85b03914610329578063c388675814610349578063d539139314610374578063d547741f1461039b578063e2ab691d146103ae57600080fd5b8063511cd8cf1461028e5780635e354332146102a157806375b238fc146102c157806391d14854146102e8578063a217fddf146102fb578063b390c0ab1461030357600080fd5b8063156e29f611610115578063156e29f6146101e4578063248a9ca3146101f7578063282c51f31461021a5780632f286b1b146102415780632f2ff15d1461026857806336568abe1461027b57600080fd5b806301ffc9a714610152578063035b741d1461017b57806304022b11146101915780630428a8cc146101a6578063124d91e5146101d1575b600080fd5b610165610160366004610b88565b6103c1565b6040516101729190610bbb565b60405180910390f35b61018460055481565b6040516101729190610bcf565b6101a461019f366004610bee565b6103f8565b005b6101846101b4366004610c34565b600260209081526000928352604080842090915290825290205481565b6101a46101df366004610c71565b610428565b6101a46101f2366004610c71565b610463565b610184610205366004610bee565b60009081526020819052604090206001015490565b6101847f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b6101847fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b6101a4610276366004610cc1565b610578565b6101a4610289366004610cc1565b6105a2565b61018461029c366004610c34565b6105e1565b6101846102af366004610bee565b60046020526000908152604090205481565b6101847fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6101656102f6366004610cc1565b61062e565b610184600081565b6101a4610311366004610cf4565b610657565b6101a4610324366004610c71565b610663565b610184610337366004610bee565b60036020526000908152604090205481565b610184610357366004610c34565b600160209081526000928352604080842090915290825290205481565b6101847f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6101a46103a9366004610cc1565b610701565b6101a46103bc366004610c71565b610726565b60006001600160e01b03198216637965db0b60e01b14806103f257506301ffc9a760e01b6001600160e01b03198316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610422816107c4565b50600555565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610452816107c4565b61045d8484846107d1565b50505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661048d816107c4565b6005548311156104b0576040516327b3518960e11b815260040160405180910390fd5b6001600160a01b0384166000908152600160209081526040808320868452909152812080548492906104e3908490610d2c565b909155505060008381526003602052604081208054849290610506908490610d2c565b909155505060008381526004602052604081208054849290610529908490610d2c565b9250508190555082846001600160a01b03167f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff8460405161056a9190610bcf565b60405180910390a350505050565b600082815260208190526040902060010154610593816107c4565b61059d838361089f565b505050565b6001600160a01b03811633146105d35760405162461bcd60e51b81526004016105ca90610d3f565b60405180910390fd5b6105dd8282610923565b5050565b6001600160a01b0382166000818152600160209081526040808320858452825280832054938352600282528083208584529091528120549091906106258183610d92565b95945050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3361059d8184846107d1565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161068d816107c4565b6001600160a01b0384166000908152600260209081526040808320868452909152812080548492906106c0908490610d92565b9250508190555082846001600160a01b03167f3f2f29fa02cc34566ac167b446be0be9e0254cac18eda93b2dfe6a7a7c8affb98460405161056a9190610bcf565b60008281526020819052604090206001015461071c816107c4565b61059d8383610923565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610750816107c4565b6001600160a01b038416600090815260026020908152604080832086845290915281208054849290610783908490610d2c565b9250508190555082846001600160a01b03167fd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea58460405161056a9190610bcf565b6107ce8133610988565b50565b806107dc84846105e1565b10156107fb57604051631e9acf1760e31b815260040160405180910390fd5b6001600160a01b03831660009081526001602090815260408083208584529091528120805483929061082e908490610d92565b909155505060008281526003602052604081208054839290610851908490610d92565b9250508190555081836001600160a01b03167f0f7742877f0f24e648fdf2c46a85dfa3fd07291c0f0c3fcf3e8c6011749e5698836040516108929190610bcf565b60405180910390a3505050565b6108a9828261062e565b6105dd576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556108df3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61092d828261062e565b156105dd576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610992828261062e565b6105dd5761099f816109e1565b6109aa8360206109f3565b6040516020016109bb929190610deb565b60408051601f198184030181529082905262461bcd60e51b82526105ca91600401610e75565b60606103f26001600160a01b03831660145b60606000610a02836002610e86565b610a0d906002610d2c565b67ffffffffffffffff811115610a2557610a25610ea5565b6040519080825280601f01601f191660200182016040528015610a4f576020820181803683370190505b509050600360fc1b81600081518110610a6a57610a6a610ebb565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610a9957610a99610ebb565b60200101906001600160f81b031916908160001a9053506000610abd846002610e86565b610ac8906001610d2c565b90505b6001811115610b40576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610afc57610afc610ebb565b1a60f81b828281518110610b1257610b12610ebb565b60200101906001600160f81b031916908160001a90535060049490941c93610b3981610ed1565b9050610acb565b508315610b5f5760405162461bcd60e51b81526004016105ca90610ee8565b9392505050565b6001600160e01b031981165b81146107ce57600080fd5b80356103f281610b66565b600060208284031215610b9d57610b9d600080fd5b6000610ba98484610b7d565b949350505050565b8015155b82525050565b602081016103f28284610bb1565b80610bb5565b602081016103f28284610bc9565b80610b72565b80356103f281610bdd565b600060208284031215610c0357610c03600080fd5b6000610ba98484610be3565b60006001600160a01b0382166103f2565b610b7281610c0f565b80356103f281610c20565b60008060408385031215610c4a57610c4a600080fd5b6000610c568585610c29565b9250506020610c6785828601610be3565b9150509250929050565b600080600060608486031215610c8957610c89600080fd5b6000610c958686610c29565b9350506020610ca686828701610be3565b9250506040610cb786828701610be3565b9150509250925092565b60008060408385031215610cd757610cd7600080fd5b6000610ce38585610be3565b9250506020610c6785828601610c29565b60008060408385031215610d0a57610d0a600080fd5b6000610c568585610be3565b634e487b7160e01b600052601160045260246000fd5b808201808211156103f2576103f2610d16565b602080825281016103f281602f81527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560208201526e103937b632b9903337b91039b2b63360891b604082015260600190565b818103818111156103f2576103f2610d16565b60005b83811015610dc0578181015183820152602001610da8565b50506000910152565b6000610dd3825190565b610de1818560208601610da5565b9290920192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526017016000610e1d8285610dc9565b7001034b99036b4b9b9b4b733903937b6329607d1b81526011019150610ba98284610dc9565b6000610e4d825190565b808452602084019350610e64818560208601610da5565b601f01601f19169290920192915050565b60208082528101610b5f8184610e43565b818102808215838204851417610e9e57610e9e610d16565b5092915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081610ee057610ee0610d16565b506000190190565b60208082528181019081527f537472696e67733a20686578206c656e67746820696e73756666696369656e746040830152606082016103f256fea264697066735822122098a3a3212943179a116ba565caf138a4469e4efdc0bc4b2b29678de1d8140a0364736f6c634300081300330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe000000000000000000000000000000000000000000000000000000000000000e