0 txs
1 call
constructor
constructor(address phiRewardsContract_, address credContract_) payable
functions
balanceOf
viewfunction balanceOf(uint256 credId) view returns (uint256 balance)
credContract
viewfunction credContract() view returns (address)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
phiRewardsContract
viewfunction phiRewardsContract() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
deposit
payablefunction deposit(uint256 credId, uint256 amount) payable
distribute
nonpayablefunction distribute(uint256 credId)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateExecuteRoyalty
nonpayablefunction updateExecuteRoyalty(uint256 newExecuteRoyalty_)
updatePhiRewardsContract
nonpayablefunction updatePhiRewardsContract(address phiRewardsContract_)
events
Deposit
event Deposit(uint256 indexed credId, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PhiRewardsContractUpdated
event PhiRewardsContractUpdated(address newPhiRewardsContract)
RewardsDistributed
event RewardsDistributed(uint256 indexed credId, address indexed sender, uint256 executefee, uint256 distributeAmount, uint256 total)
RewardsSweeped
event RewardsSweeped(uint256 indexed credId, address indexed sender, uint256 total)
RoyaltyUpdated
event RoyaltyUpdated(uint256 newRoyalty)
errors
InvalidAddressZero
error InvalidAddressZero()
InvalidCredId
error InvalidCredId()
InvalidRoyalty
error InvalidRoyalty(uint256 royalty)
InvalidTokenAmounts
error InvalidTokenAmounts(uint256 gotAmounts)
InvalidValue
error InvalidValue(uint256 gotValue, uint256 expectedValue)
NoBalanceToDistribute
error NoBalanceToDistribute()
NoSharesToDistribute
error NoSharesToDistribute()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
Reentrancy
error Reentrancy()
UnauthorizedCaller
error UnauthorizedCaller(address caller)
creation bytecode
0x60c0604081905260646004556127106080526103e860a05261114a3881900390819083398101604081905261003391610157565b338061005957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b610062816100cf565b506001600160a01b038216158061008057506001600160a01b038116155b1561009e57604051630863a45360e11b815260040160405180910390fd5b600280546001600160a01b039384166001600160a01b0319918216179091556003805492909316911617905561018a565b600180546001600160a01b03191690556100e8816100eb565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461015257600080fd5b919050565b6000806040838503121561016a57600080fd5b6101738361013b565b91506101816020840161013b565b90509250929050565b60805160a051610f9b6101af60003960006102690152600061065e0152610f9b6000f3fe6080604052600436106100c75760003560e01c80639cc7f70811610074578063e2bbb1581161004e578063e2bbb1581461020e578063e30c397814610221578063f2fde38b1461023f57600080fd5b80639cc7f70814610193578063c55b5fb6146101ce578063d4f5811c146101ee57600080fd5b806379ba5097116100a557806379ba5097146101405780638da5cb5b1461015557806391c05b0b1461017357600080fd5b8063432b4a34146100cc5780635924b71b146100ee578063715018a61461012b575b600080fd5b3480156100d857600080fd5b506100ec6100e7366004610c0a565b61025f565b005b3480156100fa57600080fd5b5060025461010e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561013757600080fd5b506100ec610305565b34801561014c57600080fd5b506100ec610319565b34801561016157600080fd5b506000546001600160a01b031661010e565b34801561017f57600080fd5b506100ec61018e366004610c0a565b61035d565b34801561019f57600080fd5b506101c06101ae366004610c0a565b60056020526000908152604090205481565b604051908152602001610122565b3480156101da57600080fd5b5060035461010e906001600160a01b031681565b3480156101fa57600080fd5b506100ec610209366004610c38565b6108f1565b6100ec61021c366004610c5c565b610994565b34801561022d57600080fd5b506001546001600160a01b031661010e565b34801561024b57600080fd5b506100ec61025a366004610c38565b610abc565b610267610b3a565b7f00000000000000000000000000000000000000000000000000000000000000008111156102c9576040517f8243d3d7000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b60048190556040518181527f244ea8d7627f5a08f4299862bd5a45752842c183aee5b0fb0d1e4887bfa605b3906020015b60405180910390a150565b61030d610b3a565b6103176000610b67565b565b60015433906001600160a01b031681146103515760405163118cdaa760e01b81526001600160a01b03821660048201526024016102c0565b61035a81610b67565b50565b60035460405163ca8f8ff360e01b8152600481018390526001600160a01b039091169063ca8f8ff390602401602060405180830381865afa1580156103a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ca9190610c7e565b6103e7576040516337b127cb60e11b815260040160405180910390fd5b60008181526005602052604081205490819003610430576040517f0d7e7ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546040517f613ef8d30000000000000000000000000000000000000000000000000000000081526004810184905260006024820181905260448201819052916001600160a01b03169063613ef8d390606401600060405180830381865afa1580156104a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c99190810190610cc6565b90506000805b825181101561058f5760035483516001600160a01b039091169063ea5d719190879086908590811061050357610503610d8b565b60200260200101516040518363ffffffff1660e01b815260040161053a9291909182526001600160a01b0316602082015260400190565b602060405180830381865afa158015610557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057b9190610da1565b6105859083610dd0565b91506001016104cf565b50806000036105ca576040517f29d29a7100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825167ffffffffffffffff8111156105e6576105e6610ca0565b60405190808252806020026020018201604052801561060f578160200160208202803683370190505b5090506000835167ffffffffffffffff81111561062e5761062e610ca0565b604051908082528060200260200182016040528015610657578160200160208202803683370190505b50905060007f00000000000000000000000000000000000000000000000000000000000000006004548761068b9190610de9565b6106959190610e00565b905060006106a38288610e22565b90506000805b87518110156107bc5760008882815181106106c6576106c6610d8b565b60209081029190910101516003546040517fea5d7191000000000000000000000000000000000000000000000000000000008152600481018e90526001600160a01b0380841660248301529293506000929091169063ea5d719190604401602060405180830381865afa158015610741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107659190610da1565b90506000896107748388610de9565b61077e9190610e00565b905080156107b1578089858151811061079957610799610d8b565b60209081029190910101526107ae8186610dd0565b94505b5050506001016106a9565b50600089815260056020526040812080548a92906107db908490610e22565b909155506108009050816107ef8486610dd0565b6107f99190610e22565b3390610b8d565b6002546040517f300def950000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063300def9590839061084f908b908a908a90600401610e93565b6000604051808303818588803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b50505050506108883390565b6001600160a01b0316897f9432bb03d03fb9fd46e12611cb51c53172e12a57dbdbc988448466ee32932c8a836108be8688610dd0565b6108c89190610e22565b604080519182526020820187905281018c905260600160405180910390a3505050505050505050565b6108f9610b3a565b6001600160a01b038116610939576040517f10c748a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f014e608891d152083cf3c0dd2dfbfa60bb8fa6ac0f0732956a67d14e13a7051f906020016102fa565b60035460405163ca8f8ff360e01b8152600481018490526001600160a01b039091169063ca8f8ff390602401602060405180830381865afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a019190610c7e565b610a1e576040516337b127cb60e11b815260040160405180910390fd5b803414610a60576040517fde9b74a1000000000000000000000000000000000000000000000000000000008152346004820152602481018290526044016102c0565b60008281526005602052604081208054839290610a7e908490610dd0565b909155505060405181815282907fa3af609bf46297028ce551832669030f9effef2b02606d02cbbcc40fe6b47c559060200160405180910390a25050565b610ac4610b3a565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff199091168117909155610b026000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000546001600160a01b031633146103175760405163118cdaa760e01b81523360048201526024016102c0565b6001805473ffffffffffffffffffffffffffffffffffffffff1916905561035a81610bad565b60003860003884865af1610ba95763b12d13eb6000526004601cfd5b5050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610c1c57600080fd5b5035919050565b6001600160a01b038116811461035a57600080fd5b600060208284031215610c4a57600080fd5b8135610c5581610c23565b9392505050565b60008060408385031215610c6f57600080fd5b50508035926020909101359150565b600060208284031215610c9057600080fd5b81518015158114610c5557600080fd5b634e487b7160e01b600052604160045260246000fd5b8051610cc181610c23565b919050565b60006020808385031215610cd957600080fd5b825167ffffffffffffffff80821115610cf157600080fd5b818501915085601f830112610d0557600080fd5b815181811115610d1757610d17610ca0565b8060051b604051601f19603f83011681018181108582111715610d3c57610d3c610ca0565b604052918252848201925083810185019188831115610d5a57600080fd5b938501935b82851015610d7f57610d7085610cb6565b84529385019392850192610d5f565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610db357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610de357610de3610dba565b92915050565b8082028115828204841417610de357610de3610dba565b600082610e1d57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610de357610de3610dba565b60008151808452602080850194506020840160005b83811015610e885781517fffffffff000000000000000000000000000000000000000000000000000000001687529582019590820190600101610e4a565b509495945050505050565b6080808252845190820181905260009060209060a0840190828801845b82811015610ed55781516001600160a01b031684529284019290840190600101610eb0565b5050508381038285015285518082528683019183019060005b81811015610f0a57835183529284019291840191600101610eee565b50508481036040860152610f1e8187610e35565b925050508281036060840152610f8481602881527f6465706f7369742066726f6d2063757261746f7220726577617264732064697360208201527f7472696275746f72000000000000000000000000000000000000000000000000604082015260600190565b969550505050505056fea164736f6c6343000819000a000000000000000000000000926b93ee35b3fb756197806c4b3418dffa171e07000000000000000000000000587bda96d7832b8f46aa4bf36ec99aeb57efaa11