2 txs
4 calls
constructor
constructor(address ownerAddress_) payable
functions
artistReward
viewfunction artistReward() view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256 balance)
computeMintReward
viewfunction computeMintReward(uint256 quantity_, uint256 mintFee_) view returns (uint256)
curateReward
viewfunction curateReward() view returns (uint256)
curatorRewardsDistributor
viewfunction curatorRewardsDistributor() view returns (address)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
hashTypedData
viewfunction hashTypedData(bytes32 structHash) view returns (bytes32)
nonces
viewfunction nonces(address account) view returns (uint256 nonce)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
phiFactory
viewfunction phiFactory() view returns (address)
referralReward
viewfunction referralReward() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
verifierReward
viewfunction verifierReward() view returns (uint256)
WITHDRAW_TYPEHASH
viewfunction WITHDRAW_TYPEHASH() view returns (bytes32)
acceptOwnership
nonpayablefunction acceptOwnership()
deposit
payablefunction deposit(address to, bytes4 reason, string comment) payable
depositBatch
payablefunction depositBatch(address[] recipients, uint256[] amounts, bytes4[] reasons, string comment) payable
handleRewardsAndGetValueSent
payablefunction handleRewardsAndGetValueSent(uint256 artId_, uint256 credId_, uint256 quantity_, uint256 mintFee_, bytes addressesData_, bool chainSync_) payable
renounceOwnership
nonpayablefunction renounceOwnership()
setPhiFactory
nonpayablefunction setPhiFactory(address newPhiFactory_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateArtistReward
nonpayablefunction updateArtistReward(uint256 newArtistReward_)
updateCurateReward
nonpayablefunction updateCurateReward(uint256 newCurateReward_)
updateCuratorRewardsDistributor
nonpayablefunction updateCuratorRewardsDistributor(address curatorRewardsDistributor_)
updateReferralReward
nonpayablefunction updateReferralReward(uint256 newReferralReward_)
updateVerifierReward
nonpayablefunction updateVerifierReward(uint256 newVerifyReward_)
withdraw
nonpayablefunction withdraw(address to, uint256 amount)
withdrawFor
nonpayablefunction withdrawFor(address from, uint256 amount)
withdrawWithSig
nonpayablefunction withdrawWithSig(address from, address to, uint256 amount, uint256 deadline, bytes sig)
events
ArtistRewardUpdated
event ArtistRewardUpdated(uint256 artistReward)
CurateRewardUpdated
event CurateRewardUpdated(uint256 curateReward)
CuratorRewardsDistributorUpdated
event CuratorRewardsDistributorUpdated(address curatorRewardsDistributor)
Deposit
event Deposit(address indexed from, address indexed to, bytes4 indexed reason, uint256 amount, string comment)
NotChainSyncDeposit
event NotChainSyncDeposit(uint256 artId, address verifier, uint256 curateTotalReward)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PhiFactoryUpdated
event PhiFactoryUpdated(address newPhiFactory)
ReferralRewardUpdated
event ReferralRewardUpdated(uint256 referralReward)
RewardsDeposit
event RewardsDeposit(address minter, address indexed receiver, address indexed referral, address indexed verifier, bytes rewardsData)
VerifierRewardUpdated
event VerifierRewardUpdated(uint256 verifierReward)
Withdraw
event Withdraw(address indexed from, address indexed to, uint256 amount)
errors
ArrayLengthMismatch
error ArrayLengthMismatch()
ContractNotCreatedByFactory
error ContractNotCreatedByFactory()
DeadlineExpired
error DeadlineExpired()
InvalidAddressZero
error InvalidAddressZero()
InvalidAmount
error InvalidAmount()
InvalidDeposit
error InvalidDeposit()
InvalidSignature
error InvalidSignature()
InvalidWithdraw
error InvalidWithdraw()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PhiFactoryNotSet
error PhiFactoryNotSet()
SignatureDeadlineExpired
error SignatureDeadlineExpired()
TransferFailed
error TransferFailed()
creation bytecode
0x610120604052655af3107a4000600655652d79883d2000600755655af3107a4000600855652d79883d2000600955604051611dcd380380611dcd83398101604081905261004b916101a6565b306080524660a05280606080610097604080518082018252600b81526a504849205265776172647360a81b602080830191909152825180840190935260018352603160f81b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03811661012857604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61013181610138565b50506101d6565b600380546001600160a01b031916905561015181610154565b50565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156101b857600080fd5b81516001600160a01b03811681146101cf57600080fd5b9392505050565b60805160a05160c05160e05161010051611bb361021a6000396000610fce01526000611088015260006110620152600061101201526000610fef0152611bb36000f3fe6080604052600436106101cd5760003560e01c806388580db7116100f7578063b49e80f411610095578063e554e1ad11610064578063e554e1ad14610508578063f2fde38b14610528578063f3fef3a314610548578063f7f8266f1461056857600080fd5b8063b49e80f414610494578063cbd8df55146104aa578063db518db2146104ca578063e30c3978146104ea57600080fd5b806395b61987116100d157806395b619871461041e57806399b371431461043e5780639e75291f14610454578063b3d83e9e1461047457600080fd5b806388580db7146103cd5780638da5cb5b146103e057806390db33f9146103fe57600080fd5b806358cfec881161016f57806376c5d7581161013e57806376c5d7581461032f57806379ba5097146103635780637ecebe001461037857806384b0196e146103a557600080fd5b806358cfec88146102ad5780636575f6aa146102cd57806370a08231146102ed578063715018a61461031a57600080fd5b80632a1a1c43116101ab5780632a1a1c431461022c578063300def9514610264578063470a2d83146102775780634d6836741461029757600080fd5b80630baf4711146101d257806318160ddd146101f4578063266de7d514610216575b600080fd5b3480156101de57600080fd5b506101f26101ed366004611635565b61057b565b005b34801561020057600080fd5b50475b6040519081526020015b60405180910390f35b34801561022257600080fd5b5061020360065481565b34801561023857600080fd5b5060045461024c906001600160a01b031681565b6040516001600160a01b03909116815260200161020d565b6101f26102723660046116f6565b610650565b34801561028357600080fd5b506102036102923660046117ba565b61081a565b3480156102a357600080fd5b5061020360075481565b3480156102b957600080fd5b506101f26102c83660046117dc565b610864565b3480156102d957600080fd5b506102036102e8366004611800565b6108c1565b3480156102f957600080fd5b506102036103083660046117dc565b60016020526000908152604090205481565b34801561032657600080fd5b506101f26108cc565b34801561033b57600080fd5b506102037f7b35c0715842c169bbf11116e8d20b2e74dacbd860d36ad5e47c3d88c15be55b81565b34801561036f57600080fd5b506101f26108e0565b34801561038457600080fd5b506102036103933660046117dc565b60006020819052908152604090205481565b3480156103b157600080fd5b506103ba610929565b60405161020d979695949392919061185f565b6101f26103db366004611922565b6109d2565b3480156103ec57600080fd5b506002546001600160a01b031661024c565b34801561040a57600080fd5b506101f2610419366004611800565b610b51565b34801561042a57600080fd5b506101f2610439366004611800565b610b8e565b34801561044a57600080fd5b5061020360095481565b34801561046057600080fd5b5060055461024c906001600160a01b031681565b34801561048057600080fd5b506101f261048f366004611800565b610bcb565b3480156104a057600080fd5b5061020360085481565b3480156104b657600080fd5b506101f26104c53660046117dc565b610c08565b3480156104d657600080fd5b506101f26104e53660046119a0565b610c85565b3480156104f657600080fd5b506003546001600160a01b031661024c565b34801561051457600080fd5b506101f2610523366004611800565b610c94565b34801561053457600080fd5b506101f26105433660046117dc565b610cd1565b34801561055457600080fd5b506101f26105633660046119a0565b610d42565b6101f2610576366004611a01565b610d4d565b824211156105b5576040517f1ab7da6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e88686866000808b6001600160a01b03166001600160a01b0316815260200190815260200160002054878787610dfd565b61061e576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038616600090815260208190526040902080546001019055610648868686610ea7565b505050505050565b8685811415806106605750808414155b15610697576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156107ed5760008b8b838181106106b7576106b7611a64565b90506020020160208101906106cc91906117dc565b905060008a8a848181106106e2576106e2611a64565b60200291909101359150506001600160a01b03821661071457604051630863a45360e11b815260040160405180910390fd5b6001600160a01b0382166000908152600160205260408120805483929061073c908490611a90565b9091555061074c90508185611a90565b935088888481811061076057610760611a64565b90506020020160208101906107759190611aa3565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916826001600160a01b0316336001600160a01b03167f5b769452a2090142e059af5137c5b92a3e966cfb03b794cd01ac195d196c0001848b8b6040516107db93929190611abe565b60405180910390a4505060010161069b565b5080341461080e57604051635972996f60e11b815260040160405180910390fd5b50505050505050505050565b6000600954600854600754846006546108339190611a90565b61083d9190611a90565b6108479190611a90565b6108519190611a90565b61085b9084611af4565b90505b92915050565b61086c610f9f565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1266f1edaf423b18e47119dd86723cb3757ac3aed326293fce1dea1455b6474906020015b60405180910390a150565b600061085e82610fcc565b6108d4610f9f565b6108de60006110e4565b565b60035433906001600160a01b0316811461091d5760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b610926816110e4565b50565b7f0f0000000000000000000000000000000000000000000000000000000000000060608060008080836109c0604080518082018252600b81527f50484920526577617264730000000000000000000000000000000000000000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b97989097965046955030945091925090565b336005546001600160a01b0316610a15576040517f2963d2a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005546040517f3b562a6d0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015290911690633b562a6d90602401602060405180830381865afa158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c9190611b0b565b610ad2576040517fb698eacf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34610add878761081a565b14610afb57604051635972996f60e11b815260040160405180910390fd5b610b47888886866006548a610b109190611a90565b610b1a908c611af4565b600754610b27908d611af4565b600854610b34908e611af4565b600954610b41908f611af4565b8a6110fd565b5050505050505050565b610b59610f9f565b60098190556040518181527fc41431aa34d5b806afe40e84f68f2f3050737a113fb296d3d8c27aabcd3e3817906020016108b6565b610b96610f9f565b60088190556040518181527f22f48507214d6a9ad700c36f02d4581584c003af2c61de79ca4c4c49621705b7906020016108b6565b610bd3610f9f565b60068190556040518181527f4e30bbba2993e5a3e0f27562ad1a4dc5675526646c57288524b69e53f969363a906020016108b6565b610c10610f9f565b6001600160a01b038116610c3757604051630863a45360e11b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527fc9e7040986828d33e799a9f54aba38f5e496050cebec8e484bf822220d6db449906020016108b6565b610c90828383610ea7565b5050565b610c9c610f9f565b60078190556040518181527f1f8e6077362b190f5e703f6aaa66b587a8b3a9c0c66035073808d52b95c2f4d9906020016108b6565b610cd9610f9f565b600380546001600160a01b0383166001600160a01b03199091168117909155610d0a6002546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610c90338383610ea7565b6001600160a01b038416610d7457604051630863a45360e11b815260040160405180910390fd5b6001600160a01b0384166000818152600160205260409081902080543490810190915590517fffffffff000000000000000000000000000000000000000000000000000000008616929133917f5b769452a2090142e059af5137c5b92a3e966cfb03b794cd01ac195d196c000191610def9188908890611abe565b60405180910390a450505050565b604080517f7b35c0715842c169bbf11116e8d20b2e74dacbd860d36ad5e47c3d88c15be55b60208201526001600160a01b03808a169282019290925290871660608201526080810186905260a0810185905260c081018490524660e082018190526000918290610100016040516020818303038152906040528051906020012090506000610e8a82610fcc565b9050610e988b828888611456565b9b9a5050505050505050505050565b6001600160a01b038216610ece57604051630863a45360e11b815260040160405180910390fd5b6001600160a01b03831660009081526001602052604090205481610ef0578091505b80821115610f2a576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380851660008181526001602052604090819020858503905551918516917f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb90610f7e9086815260200190565b60405180910390a3610f996001600160a01b03841683611569565b50505050565b6002546001600160a01b031633146108de5760405163118cdaa760e01b8152336004820152602401610914565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614166110bf5750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b600380546001600160a01b031916905561092681611585565b600080808061110e8a8c018c611b28565b929650909450925090506001600160a01b038316158061113557506001600160a01b038416155b8061114757506001600160a01b038116155b1561116557604051630863a45360e11b815260040160405180910390fd5b836001600160a01b0316826001600160a01b0316148061118c57506001600160a01b038216155b156111a65761119b888a611a90565b9850600097506111e3565b6001600160a01b038216156111e3576001600160a01b038216600090815260016020526040812080548a92906111dd908490611a90565b90915550505b6001600160a01b0381166000908152600160205260408120805489929061120b908490611a90565b90915550506001600160a01b038316600090815260016020526040812080548b9290611238908490611a90565b909155506060905085801561125757506004546001600160a01b031615155b1561132757600480546040517fe2bbb1580000000000000000000000000000000000000000000000000000000081529182018f9052602482018990526001600160a01b03169063e2bbb1589089906044016000604051808303818588803b1580156112c157600080fd5b505af11580156112d5573d6000803e3d6000fd5b50505050508d8a8a8a8a604051602001611311959493929190948552602085019390935260408401919091526060830152608082015260a00190565b60405160208183030381529060405290506113ef565b6001600160a01b0382166000908152600160205260408120805489929061134f908490611a90565b909155508e90508a8a6113628a8c611a90565b60408051602081019590955284019290925260608301526080820152600060a082015260c00160405160208183030381529060405290507fb206eb63e13c8220d98c40b9d7ef6c186fac2798be1a73220a44fbafce4d4c218e83896040516113e6939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a15b816001600160a01b0316836001600160a01b0316856001600160a01b03167f871563dedd215382e3ac00d21944c0ed6563d4fcdefa08b5db66c4751a115212888560405161143e929190611b84565b60405180910390a45050505050505050505050505050565b6001600160a01b0390931692600084156115615760405184600052604083036114da5760208481013560ff81901c601b01825285356040527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16606052600160806000825afa805187183d15176114d857506000606052604052506001611561565b505b6041830361151d57604084013560001a602052604084604037602060016080600060015afa805187183d151761151b57506000606052604052506001611561565b505b600060605280604052631626ba7e60e01b80825285600483015260248201604081528460448401528486606485013760208160648701858b5afa9051909114169150505b949350505050565b60003860003884865af1610c905763b12d13eb6000526004601cfd5b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116811461092657600080fd5b60008083601f8401126115fe57600080fd5b50813567ffffffffffffffff81111561161657600080fd5b60208301915083602082850101111561162e57600080fd5b9250929050565b60008060008060008060a0878903121561164e57600080fd5b8635611659816115d7565b95506020870135611669816115d7565b94506040870135935060608701359250608087013567ffffffffffffffff81111561169357600080fd5b61169f89828a016115ec565b979a9699509497509295939492505050565b60008083601f8401126116c357600080fd5b50813567ffffffffffffffff8111156116db57600080fd5b6020830191508360208260051b850101111561162e57600080fd5b6000806000806000806000806080898b03121561171257600080fd5b883567ffffffffffffffff8082111561172a57600080fd5b6117368c838d016116b1565b909a50985060208b013591508082111561174f57600080fd5b61175b8c838d016116b1565b909850965060408b013591508082111561177457600080fd5b6117808c838d016116b1565b909650945060608b013591508082111561179957600080fd5b506117a68b828c016115ec565b999c989b5096995094979396929594505050565b600080604083850312156117cd57600080fd5b50508035926020909101359150565b6000602082840312156117ee57600080fd5b81356117f9816115d7565b9392505050565b60006020828403121561181257600080fd5b5035919050565b6000815180845260005b8181101561183f57602081850181015186830182015201611823565b506000602082860101526020601f19601f83011685010191505092915050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261189c60e084018a611819565b83810360408501526118ae818a611819565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611902578351835292840192918401916001016118e6565b50909c9b505050505050505050505050565b801515811461092657600080fd5b600080600080600080600060c0888a03121561193d57600080fd5b87359650602088013595506040880135945060608801359350608088013567ffffffffffffffff81111561197057600080fd5b61197c8a828b016115ec565b90945092505060a088013561199081611914565b8091505092959891949750929550565b600080604083850312156119b357600080fd5b82356119be816115d7565b946020939093013593505050565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146119fc57600080fd5b919050565b60008060008060608587031215611a1757600080fd5b8435611a22816115d7565b9350611a30602086016119cc565b9250604085013567ffffffffffffffff811115611a4c57600080fd5b611a58878288016115ec565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561085e5761085e611a7a565b600060208284031215611ab557600080fd5b61085b826119cc565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b808202811582820484141761085e5761085e611a7a565b600060208284031215611b1d57600080fd5b81516117f981611914565b60008060008060808587031215611b3e57600080fd5b8435611b49816115d7565b93506020850135611b59816115d7565b92506040850135611b69816115d7565b91506060850135611b79816115d7565b939692955090935050565b6001600160a01b0383168152604060208201526000611561604083018461181956fea164736f6c6343000819000a0000000000000000000000006d83cac25cfacdc7035bed947b92b64e6a8b8090