0 txs
1 call
constructor
constructor(address _moneyDistributionContract, address _owner, address _feeToeken)
functions
deployer
viewfunction deployer() view returns (address)
getAllSlotDistributions
viewfunction getAllSlotDistributions(uint8 iteration, uint8 totalSlots) view returns (uint256[] slotIds, uint256[] slotAmounts, uint256[] totalUsersArr, uint256[] perUserAmounts)
getFullIntervalDistribution
viewfunction getFullIntervalDistribution(uint256 intervalId) view returns (uint256 timeStamp, uint256 totalAmount, tuple[] slots)
getFullLatestIntervalDistribution
viewfunction getFullLatestIntervalDistribution() view returns (uint256 timeStamp, uint256 totalAmount, tuple[] slots)
getIntervalDistributionsTime
viewfunction getIntervalDistributionsTime() view returns (uint256[])
getPercentage
purefunction getPercentage(uint256 totalAmount, uint8 requirePercentage) pure returns (uint256)
INTERVAL_DISTRIBUTION_DELAY
viewfunction INTERVAL_DISTRIBUTION_DELAY() view returns (uint256)
intervalDistributions
viewfunction intervalDistributions(uint256) view returns (uint256 timeStamp, uint256 totalAmount)
isPaused
viewfunction isPaused() view returns (bool)
isReadyForDistribution
viewfunction isReadyForDistribution() view returns (bool)
lastIntervalDistributionTime
viewfunction lastIntervalDistributionTime() view returns (uint256)
moneyDistributionContract
viewfunction moneyDistributionContract() view returns (address)
owner
viewfunction owner() view returns (address)
PaymentToken
viewfunction PaymentToken() view returns (address)
TOTAL_SLOTS
viewfunction TOTAL_SLOTS() view returns (uint8)
totalDistributions
viewfunction totalDistributions() view returns (uint256)
batchUpdateIntervalDistributionSlots
nonpayablefunction batchUpdateIntervalDistributionSlots(uint8 iteration, uint8[] slotIds, uint256[] slotAmounts, uint256[] totalUsers, uint256[] perUserAmounts)
EmergencyWithdraw
nonpayablefunction EmergencyWithdraw(uint256 amount)
initializeNewDistributionInterval
nonpayablefunction initializeNewDistributionInterval()
setContractPaused
nonpayablefunction setContractPaused(bool _isPaused)
updateDeployer
nonpayablefunction updateDeployer(address newDeployer)
updateIntervalDistributionDelay
nonpayablefunction updateIntervalDistributionDelay(uint256 newDelay)
updateIntervalDistributions
nonpayablefunction updateIntervalDistributions(uint8 iteration, uint256 distributionTime, uint256 totalAmount)
updateIntervalDistributionSlots
nonpayablefunction updateIntervalDistributionSlots(uint8 iteration, uint8 slotId, uint256 slotAmount, uint256 totalUsers, uint256 perUserAmount)
updatelastIntervalDistributionTime
nonpayablefunction updatelastIntervalDistributionTime(uint256 newTime)
updateMoneyDistributionContract
nonpayablefunction updateMoneyDistributionContract(address newMoneyDistributionContract)
updateOwner
nonpayablefunction updateOwner(address newOwner)
updatePaymentToken
nonpayablefunction updatePaymentToken(address newPaymentToken)
updateTotalDistributions
nonpayablefunction updateTotalDistributions(uint256 newTotalDistributions)
events
NewIntervalInitialized
event NewIntervalInitialized(uint256 indexed intervalId, uint256 timeStamp, uint256 lastIntervalDistributionTime, (uint256 slotId, uint256 slotAmount, uint256 totalUsers, uint256 perUserAmount)[] slotDistributions)
errors
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x608034620000df57601f62001a3a38819003918201601f19168301916001600160401b03831184841017620000e457808492606094604052833981010312620000df576200004d81620000fa565b906200006a60406200006260208401620000fa565b9201620000fa565b60016000819055600380546203f48060075582546001600160a01b03199081166001600160a01b0396871617909355600280548416331790556006805490931695851695909517909155426005556001600160b01b0319909316911617600360aa1b17905560405161192a9081620001108239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620000df5756fe608080604052600436101561001a575b50361561001857005b005b60003560e01c908163163db71b146115e6575080631da6f508146115055780631e9c8c1c146114dc578063278dd96614610d3d5780632851571f14610d1f578063338b5d2b14610cb95780633aee086a14610ace5780634ccf1b3414610a775780634d413e7d14610a205780635e5860db146109e65780636663c8d9146108a85780636739c627146108605780636dec5f1f146108095780637c33c06b1461075d578063880cdc311461070d578063882796f1146106a15780638da5cb5b1461067857806399d7f8b7146104e05780639b1e2158146104285780639c2a0e581461040a578063a58fc23b146103e6578063b187bd26146103c0578063bc13573514610397578063d5f394881461036e578063d64ee8a914610281578063f2bce73814610253578063f9e09986146101e9578063fbc9b354146101b45763ffedfc6514610166573861000f565b346101af5760203660031901126101af5760015461019990336001600160a01b03918216149081156101a1575b50611848565b600435600755005b905060025416331438610193565b600080fd5b346101af5760203660031901126101af5760043560005260086020526040806000206001815491015482519182526020820152f35b346101af5760603660031901126101af5760ff6102046116ac565b60015461022590336001600160a01b03918216149081156102455750611848565b166000526008602052604060002060243581556001604435910155600080f35b905060025416331484610193565b346101af5760403660031901126101af5760206102796102716116bc565b6004356118ba565b604051908152f35b346101af5760003660031901126101af576004546000198101908111610358576000526020600881526040600020906102b86117da565b9160028082019260005b60ff80821690600c82101561033b578291610330916102e361033695611836565b166000528785526040600020805490600181015490600389820154910154916040519361030f856116fd565b84528884015260408301526060820152610329828b611794565b5288611794565b50611825565b6102c2565b8786610354600182549201549260405193849384611601565b0390f35b634e487b7160e01b600052601160045260246000fd5b346101af5760003660031901126101af576002546040516001600160a01b039091168152602090f35b346101af5760003660031901126101af576006546040516001600160a01b039091168152602090f35b346101af5760003660031901126101af57602060ff60035460a01c166040519015158152f35b346101af5760003660031901126101af57602060ff60035460a81c16604051908152f35b346101af5760003660031901126101af576020600754604051908152f35b346101af5760a03660031901126101af576104416116ac565b600361044b6116bc565b9161046a60018060a01b03806001541633149081156104d25750611848565b60ff60405193610479856116fd565b168084526020840160443581526040850191606435835260ff6060870194608435865216600052600860205260026040600020019060005260205260406000209451855551600185015551600284015551910155600080f35b905060025416331485610193565b346101af576020806003193601126101af57600154600435906001600160a01b0390811690610510338314611848565b60035416906040516370a0823160e01b81523060048201528481602481865afa9081156105fa5760009161064b575b5083116106065760405163a9059cbb60e01b81526001600160a01b0391909116600482015260248101929092528290829060449082906000905af19081156105fa576000916105cd575b501561059157005b6064906040519062461bcd60e51b825260048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152fd5b6105ed9150823d84116105f3575b6105e58183611719565b8101906118a2565b82610589565b503d6105db565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260048101859052601c60248201527f416d6f756e74206578636565647320746f6b656e2062616c616e6365000000006044820152606490fd5b90508481813d8311610671575b6106628183611719565b810103126101af57518561053f565b503d610658565b346101af5760003660031901126101af576001546040516001600160a01b039091168152602090f35b346101af5760203660031901126101af576004358015158091036101af576001546106e090336001600160a01b03918216149081156106ff5750611848565b6003805460ff60a01b191660a09290921b60ff60a01b16919091179055005b905060025416331483610193565b346101af5760203660031901126101af576004356001600160a01b03818116918290036101af5761074d6001549180831633149081156102455750611848565b6001600160a01b03191617600155005b346101af5760003660031901126101af5761077d600554600754906117a8565b42101580610793575b6020906040519015158152f35b506003546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa80156105fa576000906107d7575b15159050610786565b506020813d8211610801575b816107f060209383611719565b810103126101af57602090516107ce565b3d91506107e3565b346101af5760203660031901126101af576004356001600160a01b03818116918290036101af5780610848916001541633149081156106ff5750611848565b6001600160601b0360a01b6006541617600655600080f35b346101af5760203660031901126101af5760015461089290336001600160a01b039182161490811561089a5750611848565b600435600555005b905060025416331482610193565b346101af5760403660031901126101af576108c16116ac565b60ff806108cc6116bc565b16916108d783611753565b926108e181611753565b936108eb82611753565b6108f483611753565b93851660005b868116858110156109985790610993918360005261098d866020600881528c610978856002938460406000200182600052815260406000209461097083604051986109448a6116fd565b606060038a5495868d5260018c0154978d019788528b01549a60408d019b8c5201549a01998a52611794565b525192611794565b52516109848489611794565b52519189611794565b52611825565b6108fa565b6109bc85610354896109d8886109ca8f604051978897608089526080890190611678565b908782036020890152611678565b908582036040870152611678565b908382036060850152611678565b346101af5760203660031901126101af57600154610a1890336001600160a01b039182161490811561089a5750611848565b600480359055005b346101af5760203660031901126101af576004356001600160a01b03818116918290036101af5780610a5f916001541633149081156106ff5750611848565b6001600160601b0360a01b6002541617600255600080f35b346101af5760203660031901126101af576004356001600160a01b03818116918290036101af5780610ab6916001541633149081156106ff5750611848565b6001600160601b0360a01b6003541617600355600080f35b346101af5760a03660031901126101af57610ae76116ac565b67ffffffffffffffff906024358281116101af57610b099036906004016116cc565b91906044358481116101af57610b239036906004016116cc565b9390946064358181116101af57610b3e9036906004016116cc565b90916084359081116101af57610b589036906004016116cc565b93909260018060a01b0393610b7c600195808754163314908115610cab5750611848565b88831480610ca2575b80610c99575b15610c5b57909860ff978816919060005b848110610ba557005b808260038c8f8f8a918f8f92888f81610be491610bdd82610c569f96610bd7610bd2610bec998e8c6118d6565b6118e6565b9e6118d6565b35966118d6565b35948d6118d6565b35948060405198610bfc8a6116fd565b16885260209081890193845260408901948552606089019687528d60005260088252610c35610bd28b60029889604060002001966118d6565b1660005252604060002095518655518d860155519084015551910155611785565b610b9c565b60405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f240d8cadccee8d0e640dad2e6dac2e8c6d60531b6044820152606490fd5b50858314610b8b565b50838314610b85565b90506002541633148c610193565b346101af5760003660031901126101af57600454610cd681611753565b9060005b818110610cf7576040516020808252819061035490820186611678565b80610d1a916000526008602052604060002054610d148286611794565b52611785565b610cda565b346101af5760003660031901126101af576020600554604051908152f35b346101af5760003660031901126101af5760ff60035460a01c166114a2576001546001600160a01b03163314801561148e575b610d7990611848565b60026000541461147c576002600055600554610d996007918254906117a8565b421061142b5760045460005260086020524260406000205560405161018081019167ffffffffffffffff928281108482111761141557604052600e8252600a6020830152600a6040830152600a60608301528060808301528060a08301528060c08301528060e08301528061010083015280610120830152806101408301526101608201526004600060018060a01b03600654166040519283809263157ba90d60e01b82525afa9283156105fa57600093611371575b50506003546040516370a0823160e01b81523060048201529190602090839060249082906001600160a01b03165afa9182156105fa5760009261133d575b5081156112ec57600090815b60ff60035460a81c1660ff84161015610fc757610eb960ff841686611794565b5115610fbd57600c60ff84161015610fa757610ee260ff611fe08560051b1684015116856118ba565b610eef60ff851687611794565b51908115610f9157610f8b92610f85926003610f0a88611836565b91610f1860ff8a168c611794565b5160ff60405194610f28866116fd565b16845260208401868152604085019182526060850192870483526004546000526008602052600260406000200160ff610f608d611836565b16600052602052604060002094518555516001850155516002840155519101556117a8565b92611825565b91610e99565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b91610f8b90611825565b6004546000526008602052806001604060002001554260055560018060a01b03600354166040516370a0823160e01b8152306004820152602081602481855afa80156105fa5783916000916112b7575b50106112675760065460405163a9059cbb60e01b81526001600160a01b0390911660048201526024810192909252602090829060449082906000905af19081156105fa57600091611248575b50156111f25760ff60035460a81c1661107b8161173b565b906110896040519283611719565b808252601f196110988261173b565b0160005b8181106111db5750506004549060005b60ff8116908282101561112c5761033061112792856000526008602052600260406000200160ff6110dc85611836565b1660005260205260406000206003604051916110f7836116fd565b805483526001810154602084015260028101546040840152015460608201526111208289611794565b5286611794565b6110ac565b50505060055491604051926060840190428552602085015260606040850152815180915260206080850192019060005b81811061119d5761119385807f0941c5ac4837d3a2ea7e5b2e97c9c9729f855b1b35690e311ecf650585512c2a8988038aa2611785565b6004556001600055005b90919260206080826111d06001948851606080918051845260208101516020850152604081015160408501520151910152565b01940192910161115c565b6020906111e66117b5565b8282870101520161109c565b60405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220746f20646973747269627574696f6e20636f6e747261636044820152671d0819985a5b195960c21b6064820152608490fd5b611261915060203d6020116105f3576105e58183611719565b81611063565b60405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e74207061796d656e7420746f6b656e2062616c616e604482015261636560f01b6064820152608490fd5b9150506020813d6020116112e4575b816112d360209383611719565b810103126101af5782905184611017565b3d91506112c6565b60405162461bcd60e51b815260206004820152602360248201527f4e6f2066756e647320617661696c61626c6520666f722064697374726962757460448201526234b7b760e91b6064820152608490fd5b9091506020813d602011611369575b8161135960209383611719565b810103126101af57519083610e8d565b3d915061134c565b909192503d806000843e6113858184611719565b82016020838203126101af5782519182116101af5780601f8385010112156101af5781830151916113b58361173b565b936113c36040519586611719565b838552602085019260208560051b8484010101116101af5790602081830101925b60208560051b83850101018410611405575050505050602490919083610e4f565b83518152602093840193016113e4565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152602360248201527f496e74657276616c20646973747269627574696f6e2064656c6179206e6f74206044820152621b595d60ea1b6064820152608490fd5b604051633ee5aeb560e01b8152600490fd5b506002546001600160a01b03163314610d70565b60405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606490fd5b346101af5760003660031901126101af576003546040516001600160a01b039091168152602090f35b346101af576020806003193601126101af576004359060019182810180911161035857829060005260088252604060002061153e6117da565b9260028281016000855b611565575b86856103548882549201549260405193849384611601565b60ff80821690600c8210156115df57916103306115d692899796959461158a84611836565b166000528487526040600020805490898101549060038982015491015491604051936115b5856116fd565b84528a840152604083015260608201526115cf828d611794565b528a611794565b90919293611548565b505061154d565b346101af5760003660031901126101af576020906004548152f35b9160608301918352602090818401526060604084015283518092528060808094019401926000905b83821061163857505050505090565b909192939483828261166b6001948a51606080918051845260208101516020850152604081015160408501520151910152565b0196019493920190611629565b90815180825260208080930193019160005b828110611698575050505090565b83518552938101939281019260010161168a565b6004359060ff821682036101af57565b6024359060ff821682036101af57565b9181601f840112156101af5782359167ffffffffffffffff83116101af576020808501948460051b0101116101af57565b6080810190811067ffffffffffffffff82111761141557604052565b90601f8019910116810190811067ffffffffffffffff82111761141557604052565b67ffffffffffffffff81116114155760051b60200190565b9061175d8261173b565b61176a6040519182611719565b828152809261177b601f199161173b565b0190602036910137565b60001981146103585760010190565b8051821015610fa75760209160051b010190565b9190820180921161035857565b604051906117c2826116fd565b60006060838281528260208201528260408201520152565b604051906101a0820182811067ffffffffffffffff82111761141557604052600c82528160005b610180811061180e575050565b6020906118196117b5565b82828501015201611801565b60ff1660ff81146103585760010190565b60ff60019116019060ff821161035857565b1561184f57565b60405162461bcd60e51b815260206004820152602560248201527f4f6e6c79204f776e65722063616e20706572666f726d2074686973206f70657260448201526430ba34b7b760d91b6064820152608490fd5b908160209103126101af575180151581036101af5790565b9060ff1690818102918183041490151715610358576064900490565b9190811015610fa75760051b0190565b3560ff811681036101af579056fea264697066735822122086455870ef8fc4de717401ff35e5316ae561fab74b6bf9ff9be425f8f834f75664736f6c63430008140033000000000000000000000000c8102aaeb14b6988a8cbee59142bfc5edca8a0730000000000000000000000002fcd55167cda33678e344d4e59b09db273ea106900000000000000000000000055d398326f99059ff775485246999027b3197955