47.5k txs
46.9k calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getInfo
viewfunction getInfo() view returns (uint256, uint256, uint256)
getMicroFeeWei
viewfunction getMicroFeeWei(uint256 quantity) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
microManager
viewfunction microManager() view returns (address)
SIGNER_ROLE
viewfunction SIGNER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
completeQuest
payablefunction completeQuest(tuple data, bytes signature) payable
editGENE
nonpayablefunction editGENE(address _gene)
editInfo
nonpayablefunction editInfo(uint256 _percenPerRef, uint256 _percenPerDiscount)
editManager
nonpayablefunction editManager(address _manager)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
init
nonpayablefunction init(bytes initPayload) returns (bool)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
events
FeePayout
event FeePayout(uint256 MicroMintFeeWei, address MicroFeeRecipient, bool success)
NewGeneMinted
event NewGeneMinted(address indexed minter, address indexed referral, uint256 geneId, uint8 types, bytes32 id, uint256 bornTime)
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
IsNotSigner
error IsNotSigner()
NonceAlreadyUsed
error NonceAlreadyUsed()
PaymentFailed
error PaymentFailed()
PurchaseWrongPrice
error PurchaseWrongPrice(uint256 correctPrice)
Unauthorized
error Unauthorized()
creation bytecode
0x6101206040526103e86004556107d060055561271060065534801561002357600080fd5b50604080518082018252600a815269135a58dc9bd45d595cdd60b21b6020808301918252835180850185526001808252603160f81b9183019190915280559151902060c08181527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660e08190524660a081815286517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818801819052818901969096526060810193909352608080840192909252308382015286518084039091018152919092019094528351939092019290922090526101005260805160a05160c05160e05161010051611a5e6101416000396000611444015260006114930152600061146e015260006113f30152600061141b0152611a5e6000f3fe6080604052600436106100fe5760003560e01c8063616985ed11610095578063a1ebf35d11610064578063a1ebf35d146102e3578063a217fddf14610317578063afdd34971461032c578063d4497b5a1461034c578063d547741f1461035f57600080fd5b8063616985ed1461026157806375b238fc1461028157806387031fe5146102a357806391d14854146102c357600080fd5b80632f2ff15d116100d15780632f2ff15d146101d057806336568abe146101f05780634ddf47d4146102105780635a9b0b891461023057600080fd5b806301ffc9a7146101035780630e21ea0614610138578063248a9ca31461017057806325e8993d146101ae575b600080fd5b34801561010f57600080fd5b5061012361011e3660046114e1565b61037f565b60405190151581526020015b60405180910390f35b34801561014457600080fd5b50600254610158906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b34801561017c57600080fd5b506101a061018b36600461150b565b60009081526020819052604090206001015490565b60405190815260200161012f565b3480156101ba57600080fd5b506101ce6101c9366004611524565b6103b6565b005b3480156101dc57600080fd5b506101ce6101eb36600461155e565b6103db565b3480156101fc57600080fd5b506101ce61020b36600461155e565b610406565b34801561021c57600080fd5b5061012361022b3660046115a4565b610489565b34801561023c57600080fd5b506005546004546006546040805193845260208401929092529082015260600161012f565b34801561026d57600080fd5b506101a061027c36600461150b565b61056f565b34801561028d57600080fd5b506101a0600080516020611a0983398151915281565b3480156102af57600080fd5b506101ce6102be366004611655565b6106e6565b3480156102cf57600080fd5b506101236102de36600461155e565b610708565b3480156102ef57600080fd5b506101a07fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7081565b34801561032357600080fd5b506101a0600081565b34801561033857600080fd5b506101ce610347366004611655565b610731565b6101ce61035a366004611672565b61076d565b34801561036b57600080fd5b506101ce61037a36600461155e565b61093b565b60006001600160e01b03198216637965db0b60e01b14806103b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080516020611a098339815191526103cf8133610961565b50600591909155600455565b6000828152602081905260409020600101546103f78133610961565b61040183836109c5565b505050565b6001600160a01b038116331461047b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6104858282610a49565b5050565b600254600090600160a01b900460ff16156104b6576040516282b42960e81b815260040160405180910390fd5b600080600080858060200190518101906104d09190611711565b93509350935093506104e56000801b84610aae565b6104fd600080516020611a0983398151915284610aae565b6105277fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7083610aae565b61053081610ab8565b5050600380546001600160a01b039093166001600160a01b03199093169290921790915550506002805460ff60a01b1916600160a01b17905550600190565b60008160000361058157506000919050565b600260009054906101000a90046001600160a01b03166001600160a01b031663a89ae4ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f89190611770565b6001600160a01b031663f5d7816161068784600260009054906101000a90046001600160a01b03166001600160a01b0316630c1119bb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610681919061178d565b90610ada565b6040518263ffffffff1660e01b81526004016106a591815260200190565b602060405180830381865afa1580156106c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b0919061178d565b600080516020611a098339815191526106ff8133610961565b61048582610ab8565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020611a0983398151915261074a8133610961565b50600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002600154036107bf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610472565b60026001556107cf838383610aed565b6107f76107e260c0850160a08601611655565b6107f260e0860160c08701611655565b610b9c565b6003546000906001600160a01b0316634076da8b61081b60c0870160a08801611655565b6040870135873561083260808a0160608b016117a6565b61083f60808b018b6117c9565b6040518763ffffffff1660e01b815260040161086096959493929190611817565b6020604051808303816000875af115801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a3919061178d565b90506108b560e0850160c08601611655565b6001600160a01b03166108ce60c0860160a08701611655565b6001600160a01b03167fc0b4e5805785944dd77b7852122289b391e6fb22982f97232992c16ac0ac2aea836109096080890160608a016117a6565b6040805192835260ff909116602083015288359082015242606082015260800160405180910390a35050600180555050565b6000828152602081905260409020600101546109578133610961565b6104018383610a49565b61096b8282610708565b61048557610983816001600160a01b03166014610cb8565b61098e836020610cb8565b60405160200161099f92919061189d565b60408051601f198184030181529082905262461bcd60e51b825261047291600401611912565b6109cf8282610708565b610485576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610a053390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610a538282610708565b15610485576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61048582826109c5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ae6828461195b565b9392505050565b6000610afa848484610e54565b9050610b267fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7082610708565b610b4357604051632c2b07ef60e01b815260040160405180910390fd5b60208085013560009081526007909152604090205460ff1615610b7857604051623f613760e71b815260040160405180910390fd5b5050506020908101356000908152600790915260409020805460ff19166001179055565b6000610ba8600161056f565b9050816001600160a01b0316836001600160a01b031603610bdb576040516282b42960e81b815260040160405180910390fd5b80341015610bff5760405163c5a8df2f60e01b815260048101829052602401610472565b6001600160a01b038216610c2957610c1681610ead565b61040183610c243484610f73565b610f7f565b6000610c4c600654610c4660055485610ada90919063ffffffff16565b9061100e565b90506000610c6b600654610c4660045486610ada90919063ffffffff16565b90506000610c8382610c7d8686610f73565b90610f73565b9050610c8e81610ead565b610c988584610f7f565b610cb086610c2484610caa3489610f73565b9061101a565b505050505050565b60606000610cc783600261195b565b610cd290600261197a565b67ffffffffffffffff811115610cea57610cea61158e565b6040519080825280601f01601f191660200182016040528015610d14576020820181803683370190505b509050600360fc1b81600081518110610d2f57610d2f611992565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610d5e57610d5e611992565b60200101906001600160f81b031916908160001a9053506000610d8284600261195b565b610d8d90600161197a565b90505b6001811115610e05576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610dc157610dc1611992565b1a60f81b828281518110610dd757610dd7611992565b60200101906001600160f81b031916908160001a90535060049490941c93610dfe816119a8565b9050610d90565b508315610ae65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610472565b600080610e6085611026565b9050610ea484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085939250506110409050565b95945050505050565b6002546040805163c5f956af60e01b815290516000926001600160a01b03169163c5f956af9160048083019260209291908290030181865afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1b9190611770565b9050610f278183610f7f565b604080518381526001600160a01b038316602082015260018183015290517f7d91e6735310f2a10253c2b777a07cdd5bce000456de934af23dfc9e4aea7f879181900360600190a15050565b6000610ae682846119bf565b8015610485576000826001600160a01b031682620334505a11610fa2575a610fa7565b620334505b6040519091906000818181858888f193505050503d8060008114610fe7576040519150601f19603f3d011682016040523d82523d6000602084013e610fec565b606091505b5050905080610401576040516307a4ced160e51b815260040160405180910390fd5b6000610ae682846119d6565b6000610ae6828461197a565b60006103b0611034836110e2565b805190602001206111b5565b600081516041036110735760208201516040830151606084015160001a61106986828585611203565b93505050506103b0565b815160400361109a57602082015160408301516110918583836113a3565b925050506103b0565b60405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610472565b60607fc150f2730550f0f1a39ef6c1e20773b3e00ba846692524a9b8b2657b1d5166d9823560208401356040850135611120608087018787016117a6565b61113561113060808901896117c9565b6113cd565b61114560c0890160a08a01611655565b61115560e08a0160c08b01611655565b6040805160208101999099528801969096526060870194909452608086019290925260ff1660a085015260c08401526001600160a01b0390811660e084015216610100820152610120016040516020818303038152906040529050919050565b60006103b06111c26113ef565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112805760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610472565b8360ff16601b148061129557508360ff16601c145b6112ec5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610472565b6040805160008082526020820180845288905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015611340573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ea45760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610472565b60006001600160ff1b03821660ff83901c601b016113c386828785611203565b9695505050505050565b600082826040516113df9291906119f8565b6040518091039020905092915050565b60007f0000000000000000000000000000000000000000000000000000000000000000460361143d57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000602082840312156114f357600080fd5b81356001600160e01b031981168114610ae657600080fd5b60006020828403121561151d57600080fd5b5035919050565b6000806040838503121561153757600080fd5b50508035926020909101359150565b6001600160a01b038116811461155b57600080fd5b50565b6000806040838503121561157157600080fd5b82359150602083013561158381611546565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156115b657600080fd5b813567ffffffffffffffff808211156115ce57600080fd5b818401915084601f8301126115e257600080fd5b8135818111156115f4576115f461158e565b604051601f8201601f19908116603f0116810190838211818310171561161c5761161c61158e565b8160405282815287602084870101111561163557600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561166757600080fd5b8135610ae681611546565b60008060006040848603121561168757600080fd5b833567ffffffffffffffff8082111561169f57600080fd5b9085019060e082880312156116b357600080fd5b909350602085013590808211156116c957600080fd5b818601915086601f8301126116dd57600080fd5b8135818111156116ec57600080fd5b8760208285010111156116fe57600080fd5b6020830194508093505050509250925092565b6000806000806080858703121561172757600080fd5b845161173281611546565b602086015190945061174381611546565b604086015190935061175481611546565b606086015190925061176581611546565b939692955090935050565b60006020828403121561178257600080fd5b8151610ae681611546565b60006020828403121561179f57600080fd5b5051919050565b6000602082840312156117b857600080fd5b813560ff81168114610ae657600080fd5b6000808335601e198436030181126117e057600080fd5b83018035915067ffffffffffffffff8211156117fb57600080fd5b60200191503681900382131561181057600080fd5b9250929050565b60018060a01b038716815285602082015284604082015260ff8416606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f1916010195945050505050565b60005b83811015611888578181015183820152602001611870565b83811115611897576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516118d581601785016020880161186d565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161190681602884016020880161186d565b01602801949350505050565b602081526000825180602084015261193181604085016020870161186d565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561197557611975611945565b500290565b6000821982111561198d5761198d611945565b500190565b634e487b7160e01b600052603260045260246000fd5b6000816119b7576119b7611945565b506000190190565b6000828210156119d1576119d1611945565b500390565b6000826119f357634e487b7160e01b600052601260045260246000fd5b500490565b818382376000910190815291905056fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a264697066735822122080d3f8d4ff39072883d6abc670f091f25a1ed331c89f47b5ab59b6c766dbd3a164736f6c634300080d0033