212 txs
4.3k calls
constructor
constructor()
functions
APPROVED_SENDER
viewfunction APPROVED_SENDER() view returns (bytes32)
availableTokens
viewfunction availableTokens(uint256) view returns (address contractAddress, uint256 tokenId, uint32 tokenType)
checkERC20Balance
viewfunction checkERC20Balance(address _contract) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getAvailableTokenCount
viewfunction getAvailableTokenCount() view returns (uint256)
getPaused
viewfunction getPaused() view returns (bool)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
listAvalableTokenInfos
viewfunction listAvalableTokenInfos(uint256 startIndex, uint256 count) view returns (tuple[])
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
addSenderRole
nonpayablefunction addSenderRole(address _address)
adjustTokenInfoContract
nonpayablefunction adjustTokenInfoContract(uint256 index, address contractAddress)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
manualRemoveFromIndex
nonpayablefunction manualRemoveFromIndex(uint256 index)
manualSendERC1155
nonpayablefunction manualSendERC1155(address contractAddress, uint256 tokenId, uint256 amount, address to)
manualSendERC20
nonpayablefunction manualSendERC20(address contractAddress, uint256 amount, address to)
manualSendERC721
nonpayablefunction manualSendERC721(address contractAddress, uint256 tokenId, address to)
manualSendTokenFromIndex
nonpayablefunction manualSendTokenFromIndex(uint256 index, address to)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address from, uint256[] tokenIds, uint256[] values, bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address from, uint256 tokenId, uint256 value, bytes) returns (bytes4)
onERC721Received
nonpayablefunction onERC721Received(address, address from, uint256 tokenId, bytes) returns (bytes4)
removeBlacklistContract
nonpayablefunction removeBlacklistContract(address removeAddress)
removeSenderRole
nonpayablefunction removeSenderRole(address _address)
removeWhitelistSender
nonpayablefunction removeWhitelistSender(address removeAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
sendErc20Prize
nonpayablefunction sendErc20Prize(address contractAddress, uint256 amount, address winner)
sendPrize
nonpayablefunction sendPrize(address winner)
setBlacklistContract
nonpayablefunction setBlacklistContract(address blAddress)
setPaused
nonpayablefunction setPaused(bool state)
setWhitelistSender
nonpayablefunction setWhitelistSender(address wlAddress)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
payablefunction withdraw() payable
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PrizeSent
event PrizeSent(uint256 index, address contractAddress, uint256 tokenID, address to)
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)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60806040525f60058190556006556007805460ff19166001179055348015610025575f5ffd5b50338061004b57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610054816100a6565b5061005f5f336100f5565b50600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191633179055610187565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8281526001602090815260408083206001600160a01b038516845290915281205460ff1661017e575f8381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a4506001610181565b505f5b92915050565b611f40806101945f395ff3fe6080604052600436106101fc575f3560e01c80637fef37c611610113578063ad64d0681161009d578063cfb7e13a1161006d578063cfb7e13a146105f9578063d537090414610619578063d547741f1461062d578063f23a6e611461064c578063f2fde38b1461066b575f5ffd5b8063ad64d06814610552578063ae1d99731461059c578063b209efd6146105bb578063bc197c81146105da575f5ffd5b8063919df584116100e3578063919df584146104c357806391d14854146104e25780639574eef0146105015780639b3bc6fb14610520578063a217fddf1461053f575f5ffd5b80637fef37c614610440578063877030001461045f5780638da5cb5b1461047e578063917de6c7146104a4575f5ffd5b80633ccfd60b116101945780636805b84b116101645780636805b84b146103b8578063715018a6146103cf578063741af17e146103e35780637632b67d14610402578063788ce3df14610421575f5ffd5b80633ccfd60b146103465780633d6e11291461034e57806364a20e081461036d578063666d1f311461038c575f5ffd5b8063248a9ca3116101cf578063248a9ca3146102ac5780632a84bc6c146102e95780632f2ff15d1461030857806336568abe14610327575f5ffd5b806301ffc9a7146102005780630ee3153f14610234578063150b7a021461025557806316c38b3c1461028d575b5f5ffd5b34801561020b575f5ffd5b5061021f61021a36600461190e565b61068a565b60405190151581526020015b60405180910390f35b34801561023f575f5ffd5b5061025361024e366004611950565b6106cf565b005b348015610260575f5ffd5b5061027461026f366004611a1a565b6107ea565b6040516001600160e01b0319909116815260200161022b565b348015610298575f5ffd5b506102536102a7366004611a8b565b610959565b3480156102b7575f5ffd5b506102db6102c6366004611aa6565b5f908152600160208190526040909120015490565b60405190815260200161022b565b3480156102f4575f5ffd5b50610253610303366004611950565b610977565b348015610313575f5ffd5b50610253610322366004611abd565b6109ee565b348015610332575f5ffd5b50610253610341366004611abd565b610a13565b610253610a46565b348015610359575f5ffd5b50610253610368366004611ae7565b610aad565b348015610378575f5ffd5b50610253610387366004611b20565b610ac2565b348015610397575f5ffd5b506103ab6103a6366004611b63565b610adf565b60405161022b9190611b83565b3480156103c3575f5ffd5b5060075460ff1661021f565b3480156103da575f5ffd5b50610253610c19565b3480156103ee575f5ffd5b506102536103fd366004611950565b610c2c565b34801561040d575f5ffd5b5061025361041c366004611ae7565b610c88565b34801561042c575f5ffd5b5061025361043b366004611ae7565b610c9d565b34801561044b575f5ffd5b5061025361045a366004611950565b610cf1565b34801561046a575f5ffd5b50610253610479366004611abd565b610d12565b348015610489575f5ffd5b505f546040516001600160a01b03909116815260200161022b565b3480156104af575f5ffd5b506102536104be366004611950565b610d2f565b3480156104ce575f5ffd5b506102536104dd366004611aa6565b610e1b565b3480156104ed575f5ffd5b5061021f6104fc366004611abd565b610e2e565b34801561050c575f5ffd5b5061025361051b366004611950565b610e58565b34801561052b575f5ffd5b506102db61053a366004611950565b610e79565b34801561054a575f5ffd5b506102db5f81565b34801561055d575f5ffd5b5061057161056c366004611aa6565b610ee1565b604080516001600160a01b039094168452602084019290925263ffffffff169082015260600161022b565b3480156105a7575f5ffd5b506102536105b6366004611abd565b610f22565b3480156105c6575f5ffd5b506102536105d5366004611950565b610f72565b3480156105e5575f5ffd5b506102746105f4366004611c6d565b610fce565b348015610604575f5ffd5b506102db5f516020611eeb5f395f51905f5281565b348015610624575f5ffd5b506002546102db565b348015610638575f5ffd5b50610253610647366004611abd565b6110ff565b348015610657575f5ffd5b50610274610666366004611d1c565b611124565b348015610676575f5ffd5b50610253610685366004611950565b611256565b5f6001600160e01b03198216630271189760e51b14806106ba57506001600160e01b03198216630a85bd0160e11b145b806106c957506106c982611290565b92915050565b5f6106d9816112c4565b6003545f5b818110156107e357836001600160a01b03166003828154811061070357610703611d70565b5f918252602090912001546001600160a01b0316036107db57610727600183611d98565b8110156107a257600361073b600184611d98565b8154811061074b5761074b611d70565b5f91825260209091200154600380546001600160a01b03909216918390811061077657610776611d70565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b60038054806107b3576107b3611dab565b5f8281526020902081015f1990810180546001600160a01b0319169055019055506107e69050565b6001016106de565b50505b5050565b5f6107f4846112ce565b6108195760405162461bcd60e51b815260040161081090611dbf565b60405180910390fd5b6108223361132e565b156108635760405162461bcd60e51b81526020600482015260116024820152702130b221b7b73a3930b1ba29b2b73232b960791b6044820152606401610810565b60408051606081018252338152602081018581525f9282018381526002805460018101825590855292517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600390940293840180546001600160a01b0319166001600160a01b0390921691909117905590517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf830155517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0909101805463ffffffff191663ffffffff909216919091179055600580549161094383611de4565b90915550630a85bd0160e11b9695505050505050565b5f610963816112c4565b506007805460ff1916911515919091179055565b5f516020611eeb5f395f51905f5261098e816112c4565b60075460ff16156109cb5760405162461bcd60e51b81526020600482015260076024820152665061757365642160c81b6044820152606401610810565b5f6109d4611385565b90506109e08184611425565b6109e981611511565b505050565b5f8281526001602081905260409091200154610a09816112c4565b6107e38383611624565b6001600160a01b0381163314610a3c5760405163334bd91960e11b815260040160405180910390fd5b6109e9828261169a565b610a4e611705565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610a98576040519150601f19603f3d011682016040523d82523d5f602084013e610a9d565b606091505b5050905080610aaa575f5ffd5b50565b5f610ab7816112c4565b6107e3848484611731565b5f610acc816112c4565b610ad88585858561179d565b5050505050565b60605f8267ffffffffffffffff811115610afb57610afb611969565b604051908082528060200260200182016040528015610b4457816020015b604080516060810182525f80825260208083018290529282015282525f19909201910181610b195790505b50600254909150831115610b585760025492505b600254610b658486611dfc565b1115610b7c57600254610b79908590611d98565b92505b5f5b83811015610c11576002610b928287611dfc565b81548110610ba257610ba2611d70565b5f91825260209182902060408051606081018252600390930290910180546001600160a01b0316835260018101549383019390935260029092015463ffffffff16918101919091528251839083908110610bfe57610bfe611d70565b6020908102919091010152600101610b7e565b509392505050565b610c21611705565b610c2a5f611813565b565b5f610c36816112c4565b50600480546001810182555f919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b0392909216919091179055565b5f610c92816112c4565b6107e3848484611862565b5f516020611eeb5f395f51905f52610cb4816112c4565b60075460ff1615610c925760405162461bcd60e51b81526020600482015260076024820152665061757365642160c81b6044820152606401610810565b5f610cfb816112c4565b6109e95f516020611eeb5f395f51905f5283611624565b5f610d1c816112c4565b610d268383611425565b6109e983611511565b5f610d39816112c4565b6004545f5b818110156107e357836001600160a01b031660048281548110610d6357610d63611d70565b5f918252602090912001546001600160a01b031603610e1357610d87600183611d98565b811015610e02576004610d9b600184611d98565b81548110610dab57610dab611d70565b5f91825260209091200154600480546001600160a01b039092169183908110610dd657610dd6611d70565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b60048054806107b3576107b3611dab565b600101610d3e565b5f610e25816112c4565b6107e682611511565b5f9182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f610e62816112c4565b6109e95f516020611eeb5f395f51905f528361169a565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ebd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c99190611e0f565b60028181548110610ef0575f80fd5b5f9182526020909120600390910201805460018201546002909201546001600160a01b03909116925063ffffffff1683565b5f610f2c816112c4565b8160028481548110610f4057610f40611d70565b5f918252602090912060039091020180546001600160a01b0319166001600160a01b0392909216919091179055505050565b5f610f7c816112c4565b50600380546001810182555f919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0392909216919091179055565b5f610fd8856112ce565b610ff45760405162461bcd60e51b815260040161081090611dbf565b83515f5b818110156110eb575f5b85828151811061101457611014611d70565b60200260200101518110156110e25760026040518060600160405280336001600160a01b0316815260200189858151811061105157611051611d70565b60209081029190910181015182526001918101829052835480830185555f948552818520845160039092020180546001600160a01b0319166001600160a01b0390921691909117815590830151918101919091556040909101516002909101805463ffffffff191663ffffffff90921691909117905560058054916110d583611de4565b9091555050600101611002565b50600101610ff8565b5063bc197c8160e01b979650505050505050565b5f828152600160208190526040909120015461111a816112c4565b6107e3838361169a565b5f61112e856112ce565b61114a5760405162461bcd60e51b815260040161081090611dbf565b5f5b8381101561124357604080516060810182523381526020810187815260019282018381526002805494850181555f90815292517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600390950294850180546001600160a01b0319166001600160a01b0390921691909117905590517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840155517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0909201805463ffffffff191663ffffffff90931692909217909155600580549161123683611de4565b909155505060010161114c565b5063f23a6e6160e01b9695505050505050565b61125e611705565b6001600160a01b03811661128757604051631e4fbdf760e01b81525f6004820152602401610810565b610aaa81611813565b5f6001600160e01b03198216637965db0b60e01b14806106c957506301ffc9a760e01b6001600160e01b03198316146106c9565b610aaa81336118d5565b6003545f90815b8181101561132557836001600160a01b0316600382815481106112fa576112fa611d70565b5f918252602090912001546001600160a01b03160361131d575060019392505050565b6001016112d5565b505f9392505050565b6004545f90815b8181101561132557836001600160a01b03166004828154811061135a5761135a611d70565b5f918252602090912001546001600160a01b03160361137d575060019392505050565b600101611335565b5f5f6005541161139757611397611e26565b60065f81546113a590611de4565b90915550600554600654604080514260208201524491810191909152434060608083019190915233901b6bffffffffffffffffffffffff19166080820152609481019290925260b48201525f9060d401604051602081830303815290604052805190602001205f1c90505f6005548261141e9190611e3a565b9392505050565b5f6002838154811061143957611439611d70565b5f918252602080832060408051606081018252600390940290910180546001600160a01b0316845260018101549284019290925260029091015463ffffffff16908201819052909250900361149f5761149a815f0151826020015184611731565b6114b3565b6114b3815f0151826020015160018561179d565b8051602080830151604080518781526001600160a01b039485169381019390935282015290831660608201527f605787611909f08af2ba34bf99883438d87bce049cb886fd8d07a8e33530e5419060800160405180910390a1505050565b60025461151f600182611d98565b8210156115ba576002611533600183611d98565b8154811061154357611543611d70565b905f5260205f2090600302016002838154811061156257611562611d70565b5f9182526020909120825460039092020180546001600160a01b0319166001600160a01b03909216919091178155600180830154908201556002918201549101805463ffffffff191663ffffffff9092169190911790555b60028054806115cb576115cb611dab565b5f8281526020812060035f199093019283020180546001600160a01b03191681556001810191909155600201805463ffffffff191690559055600554156107e65760058054905f61161b83611e59565b91905055505050565b5f61162f8383610e2e565b611693575f8381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45060016106c9565b505f6106c9565b5f6116a58383610e2e565b15611693575f8381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016106c9565b5f546001600160a01b03163314610c2a5760405163118cdaa760e01b8152336004820152602401610810565b604051632142170760e11b81523060048201526001600160a01b038281166024830152604482018490528491908216906342842e0e906064015f604051808303815f87803b158015611781575f5ffd5b505af1158015611793573d5f5f3e3d5ffd5b5050505050505050565b604080515f81526020810191829052637921219560e11b90915284906001600160a01b0382169063f242432a906117df90309086908990899060248101611e6e565b5f604051808303815f87803b1580156117f6575f5ffd5b505af1158015611808573d5f5f3e3d5ffd5b505050505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284919082169063a9059cbb906044016020604051808303815f875af11580156118b1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad89190611ecf565b6118df8282610e2e565b6107e65760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610810565b5f6020828403121561191e575f5ffd5b81356001600160e01b03198116811461141e575f5ffd5b80356001600160a01b038116811461194b575f5ffd5b919050565b5f60208284031215611960575f5ffd5b61141e82611935565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156119a6576119a6611969565b604052919050565b5f82601f8301126119bd575f5ffd5b813567ffffffffffffffff8111156119d7576119d7611969565b6119ea601f8201601f191660200161197d565b8181528460208386010111156119fe575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f60808587031215611a2d575f5ffd5b611a3685611935565b9350611a4460208601611935565b925060408501359150606085013567ffffffffffffffff811115611a66575f5ffd5b611a72878288016119ae565b91505092959194509250565b8015158114610aaa575f5ffd5b5f60208284031215611a9b575f5ffd5b813561141e81611a7e565b5f60208284031215611ab6575f5ffd5b5035919050565b5f5f60408385031215611ace575f5ffd5b82359150611ade60208401611935565b90509250929050565b5f5f5f60608486031215611af9575f5ffd5b611b0284611935565b925060208401359150611b1760408501611935565b90509250925092565b5f5f5f5f60808587031215611b33575f5ffd5b611b3c85611935565b93506020850135925060408501359150611b5860608601611935565b905092959194509250565b5f5f60408385031215611b74575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611be257835180516001600160a01b031684526020808201518186015260409182015163ffffffff169185019190915290930192606090920191600101611b9c565b509095945050505050565b5f82601f830112611bfc575f5ffd5b813567ffffffffffffffff811115611c1657611c16611969565b8060051b611c266020820161197d565b91825260208185018101929081019086841115611c41575f5ffd5b6020860192505b83831015611c63578235825260209283019290910190611c48565b9695505050505050565b5f5f5f5f5f60a08688031215611c81575f5ffd5b611c8a86611935565b9450611c9860208701611935565b9350604086013567ffffffffffffffff811115611cb3575f5ffd5b611cbf88828901611bed565b935050606086013567ffffffffffffffff811115611cdb575f5ffd5b611ce788828901611bed565b925050608086013567ffffffffffffffff811115611d03575f5ffd5b611d0f888289016119ae565b9150509295509295909350565b5f5f5f5f5f60a08688031215611d30575f5ffd5b611d3986611935565b9450611d4760208701611935565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d03575f5ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156106c9576106c9611d84565b634e487b7160e01b5f52603160045260245ffd5b6020808252600b908201526a139bdd105c1c1c9bdd995960aa1b604082015260600190565b5f60018201611df557611df5611d84565b5060010190565b808201808211156106c9576106c9611d84565b5f60208284031215611e1f575f5ffd5b5051919050565b634e487b7160e01b5f52600160045260245ffd5b5f82611e5457634e487b7160e01b5f52601260045260245ffd5b500690565b5f81611e6757611e67611d84565b505f190190565b60018060a01b038616815260018060a01b038516602082015283604082015282606082015260a060808201525f82518060a0840152806020850160c085015e5f60c0828501015260c0601f19601f8301168401019150509695505050505050565b5f60208284031215611edf575f5ffd5b815161141e81611a7e56fe301b5e2b3f5a5c80ae8683fcd01c7438eaede570d5130756c7afae8b70f632b0a2646970667358221220fd07163345c12a238e4c444a0907b91619b518e3131faa0abbf5a4bac021295164736f6c634300081c0033