Overview
APE Balance
0 APE
APE Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4043990 | 4 days ago | Contract Creation | 0 APE |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xD4F8Ac8f...0215423cC The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
CrowdfundingFactory
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity)
/** *Submitted for verification at apescan.io on 2024-11-09 */ // File: contracts/Crowdfunding.sol pragma solidity ^0.8.0; contract Crowdfunding { string public name; string public description; uint256 public goal; uint256 public deadline; address public owner; bool public paused; enum CampaignState { Active, Successful, Failed } CampaignState public state; struct Tier { string name; uint256 amount; uint256 backers; } struct Backer { uint256 totalContribution; mapping(uint256 => bool) fundedTiers; } Tier[] public tiers; mapping(address => Backer) public backers; modifier onlyOwner() { require(msg.sender == owner, "Not the owner"); _; } modifier campaignOpen() { require(state == CampaignState.Active, "Campaign is not active."); _; } modifier notPaused() { require(!paused, "Contract is paused."); _; } constructor( address _owner, string memory _name, string memory _description, uint256 _goal, uint256 _duratyionInDays ) { name = _name; description = _description; goal = _goal; deadline = block.timestamp + (_duratyionInDays * 1 days); owner = _owner; state = CampaignState.Active; } function checkAndUpdateCampaignState() internal { if(state == CampaignState.Active) { if(block.timestamp >= deadline) { state = address(this).balance >= goal ? CampaignState.Successful : CampaignState.Failed; } else { state = address(this).balance >= goal ? CampaignState.Successful : CampaignState.Active; } } } function fund(uint256 _tierIndex) public payable campaignOpen notPaused { require(_tierIndex < tiers.length, "Invalid tier."); require(msg.value == tiers[_tierIndex].amount, "Incorrect amount."); tiers[_tierIndex].backers++; backers[msg.sender].totalContribution += msg.value; backers[msg.sender].fundedTiers[_tierIndex] = true; checkAndUpdateCampaignState(); } function addTier( string memory _name, uint256 _amount ) public onlyOwner { require(_amount > 0, "Amount must be greater than 0."); tiers.push(Tier(_name, _amount, 0)); } function removeTier(uint256 _index) public onlyOwner { require(_index < tiers.length, "Tier does not exist."); tiers[_index] = tiers[tiers.length -1]; tiers.pop(); } function withdraw() public onlyOwner { checkAndUpdateCampaignState(); require(state == CampaignState.Successful, "Campaign not successful."); uint256 balance = address(this).balance; require(balance > 0, "No balance to withdraw"); payable(owner).transfer(balance); } function getContractBalance() public view returns (uint256) { return address(this).balance; } function refund() public { checkAndUpdateCampaignState(); require(state == CampaignState.Failed, "Refunds not available."); uint256 amount = backers[msg.sender].totalContribution; require(amount > 0, "No contribution to refund"); backers[msg.sender].totalContribution = 0; payable(msg.sender).transfer(amount); } function hasFundedTier(address _backer, uint256 _tierIndex) public view returns (bool) { return backers[_backer].fundedTiers[_tierIndex]; } function getTiers() public view returns (Tier[] memory) { return tiers; } function togglePause() public onlyOwner { paused = !paused; } function getCampaignStatus() public view returns (CampaignState) { if (state == CampaignState.Active && block.timestamp > deadline) { return address(this).balance >= goal ? CampaignState.Successful : CampaignState.Failed; } return state; } function extendDeadline(uint256 _daysToAdd) public onlyOwner campaignOpen { deadline += _daysToAdd * 1 days; } } // File: contracts/CrowdfundingFactory.sol pragma solidity ^0.8.0; contract CrowdfundingFactory { address public owner; bool public paused; struct Campaign { address campaignAddress; address owner; string name; uint256 creationTime; } Campaign[] public campaigns; mapping(address => Campaign[]) public userCampaigns; modifier onlyOwner() { require(msg.sender == owner, "Not owner."); _; } modifier notPaused() { require(!paused, "Factory is paused"); _; } constructor() { owner = msg.sender; } function createCampaign( string memory _name, string memory _description, uint256 _goal, uint256 _durationInDays ) external notPaused { Crowdfunding newCampaign = new Crowdfunding( msg.sender, _name, _description, _goal, _durationInDays ); address campaignAddress = address(newCampaign); Campaign memory campaign = Campaign({ campaignAddress: campaignAddress, owner: msg.sender, name: _name, creationTime: block.timestamp }); campaigns.push(campaign); userCampaigns[msg.sender].push(campaign); } function getUserCampaigns(address _user) external view returns (Campaign[] memory) { return userCampaigns[_user]; } function getAllCampaigns() external view returns (Campaign[] memory) { return campaigns; } function togglePause() external onlyOwner { paused = !paused; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"campaigns","outputs":[{"internalType":"address","name":"campaignAddress","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"creationTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_goal","type":"uint256"},{"internalType":"uint256","name":"_durationInDays","type":"uint256"}],"name":"createCampaign","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllCampaigns","outputs":[{"components":[{"internalType":"address","name":"campaignAddress","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"creationTime","type":"uint256"}],"internalType":"struct CrowdfundingFactory.Campaign[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserCampaigns","outputs":[{"components":[{"internalType":"address","name":"campaignAddress","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"creationTime","type":"uint256"}],"internalType":"struct CrowdfundingFactory.Campaign[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"togglePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userCampaigns","outputs":[{"internalType":"address","name":"campaignAddress","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"creationTime","type":"uint256"}],"stateMutability":"view","type":"function"}]
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638da5cb5b116100585780638da5cb5b14610100578063a1e5084c1461012a578063a318f2691461013d578063c4ae316814610152575f5ffd5b8063141961bc1461008957806319ac74bd146100b55780635c975abb146100c857806386cdf604146100eb575b5f5ffd5b61009c610097366004610736565b61015a565b6040516100ac949392919061077b565b60405180910390f35b61009c6100c33660046107d2565b610228565b5f546100db90600160a01b900460ff1681565b60405190151581526020016100ac565b6100f3610279565b6040516100ac91906107fa565b5f54610112906001600160a01b031681565b6040516001600160a01b0390911681526020016100ac565b6100f3610138366004610899565b610393565b61015061014b366004610958565b6104c3565b005b6101506106c3565b60018181548110610169575f80fd5b5f9182526020909120600490910201805460018201546002830180546001600160a01b0393841695509290911692916101a1906109cc565b80601f01602080910402602001604051908101604052809291908181526020018280546101cd906109cc565b80156102185780601f106101ef57610100808354040283529160200191610218565b820191905f5260205f20905b8154815290600101906020018083116101fb57829003601f168201915b5050505050908060030154905084565b6002602052815f5260405f208181548110610241575f80fd5b5f9182526020909120600490910201805460018201546002830180546001600160a01b0393841696509190921693506101a1906109cc565b60606001805480602002602001604051908101604052809291908181526020015f905b8282101561038a575f848152602090819020604080516080810182526004860290920180546001600160a01b03908116845260018201541693830193909352600283018054929392918401916102f1906109cc565b80601f016020809104026020016040519081016040528092919081815260200182805461031d906109cc565b80156103685780601f1061033f57610100808354040283529160200191610368565b820191905f5260205f20905b81548152906001019060200180831161034b57829003601f168201915b505050505081526020016003820154815250508152602001906001019061029c565b50505050905090565b6001600160a01b0381165f908152600260209081526040808320805482518185028101850190935280835260609492939192909184015b828210156104b8575f848152602090819020604080516080810182526004860290920180546001600160a01b039081168452600182015416938301939093526002830180549293929184019161041f906109cc565b80601f016020809104026020016040519081016040528092919081815260200182805461044b906109cc565b80156104965780601f1061046d57610100808354040283529160200191610496565b820191905f5260205f20905b81548152906001019060200180831161047957829003601f168201915b50505050508152602001600382015481525050815260200190600101906103ca565b505050509050919050565b5f54600160a01b900460ff16156105155760405162461bcd60e51b8152602060048201526011602482015270119858dd1bdc9e481a5cc81c185d5cd959607a1b60448201526064015b60405180910390fd5b5f338585858560405161052790610729565b610535959493929190610a04565b604051809103905ff08015801561054e573d5f5f3e3d5ffd5b50604080516080810182526001600160a01b03808416825233602083019081529282018981524260608401526001805480820182555f91909152835160049091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810180549285166001600160a01b031993841617815595517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf782018054919095169216919091179092555193945084939192839290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf801906106339082610a9a565b5060609190910151600390910155335f90815260026020818152604080842080546001808201835591865294839020865160049096020180546001600160a01b03199081166001600160a01b0397881617825593870151918101805490941691909516179091558301518392918201906106ad9082610a9a565b5060608201518160030155505050505050505050565b5f546001600160a01b031633146107095760405162461bcd60e51b815260206004820152600a6024820152692737ba1037bbb732b91760b11b604482015260640161050c565b5f805460ff60a01b198116600160a01b9182900460ff1615909102179055565b61171380610b5683390190565b5f60208284031215610746575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038581168252841660208201526080604082018190525f906107a69083018561074d565b905082606083015295945050505050565b80356001600160a01b03811681146107cd575f5ffd5b919050565b5f5f604083850312156107e3575f5ffd5b6107ec836107b7565b946020939093013593505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561088d57868503603f19018452815180516001600160a01b0390811687526020808301519091169087015260408082015160809188018290529061086a9088018261074d565b606092830151979092019690965294506020938401939190910190600101610820565b50929695505050505050565b5f602082840312156108a9575f5ffd5b6108b2826107b7565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126108dc575f5ffd5b813567ffffffffffffffff8111156108f6576108f66108b9565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610925576109256108b9565b60405281815283820160200185101561093c575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561096b575f5ffd5b843567ffffffffffffffff811115610981575f5ffd5b61098d878288016108cd565b945050602085013567ffffffffffffffff8111156109a9575f5ffd5b6109b5878288016108cd565b949794965050505060408301359260600135919050565b600181811c908216806109e057607f821691505b6020821081036109fe57634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160a01b038616815260a0602082018190525f90610a279083018761074d565b8281036040840152610a39818761074d565b60608401959095525050608001529392505050565b601f821115610a9557805f5260205f20601f840160051c81016020851015610a735750805b601f840160051c820191505b81811015610a92575f8155600101610a7f565b50505b505050565b815167ffffffffffffffff811115610ab457610ab46108b9565b610ac881610ac284546109cc565b84610a4e565b6020601f821160018114610afa575f8315610ae35750848201515b5f19600385901b1c1916600184901b178455610a92565b5f84815260208120601f198516915b82811015610b295787850151825560209485019460019092019101610b09565b5084821015610b4657868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fe608060405234801561000f575f5ffd5b5060405161171338038061171383398101604081905261002e9161012f565b5f6100398582610247565b5060016100468482610247565b5060028290556100598162015180610315565b6100639042610332565b600355505060048054600161ff0160a01b0319166001600160a01b039490941693909317909255506103459050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126100b5575f5ffd5b81516001600160401b038111156100ce576100ce610092565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100fc576100fc610092565b604052818152838201602001851015610113575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f5f60a08688031215610143575f5ffd5b85516001600160a01b0381168114610159575f5ffd5b60208701519095506001600160401b03811115610174575f5ffd5b610180888289016100a6565b604088015190955090506001600160401b0381111561019d575f5ffd5b6101a9888289016100a6565b606088015160809098015196999598509695949350505050565b600181811c908216806101d757607f821691505b6020821081036101f557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561024257805f5260205f20601f840160051c810160208510156102205750805b601f840160051c820191505b8181101561023f575f815560010161022c565b50505b505050565b81516001600160401b0381111561026057610260610092565b6102748161026e84546101c3565b846101fb565b6020601f8211600181146102a6575f831561028f5750848201515b5f19600385901b1c1916600184901b17845561023f565b5f84815260208120601f198516915b828110156102d557878501518255602094850194600190920191016102b5565b50848210156102f257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761032c5761032c610301565b92915050565b8082018082111561032c5761032c610301565b6113c1806103525f395ff3fe60806040526004361061011b575f3560e01c80637284e4161161009d578063b85dfb8011610062578063b85dfb8014610303578063c19d93fb1461032e578063c4ae31681461034e578063ca1d209d14610362578063de17057014610375575f5ffd5b80637284e4161461025b5780637497211b1461026f5780637adba5271461028e5780638da5cb5b146102ad5780638ece7b91146102e4575f5ffd5b80633ccfd60b116100e35780633ccfd60b146101dc57806340193883146101f0578063590e1ae3146102055780635c975abb146102195780636f9fb98a14610249575f5ffd5b8063039af9eb1461011f57806306fdde0314610156578063105505151461017757806329dcb0cf14610198578063389b7533146101bb575b5f5ffd5b34801561012a575f5ffd5b5061013e610139366004610e60565b610396565b60405161014d93929190610ea5565b60405180910390f35b348015610161575f5ffd5b5061016a610451565b60405161014d9190610ec9565b348015610182575f5ffd5b5061018b6104dc565b60405161014d9190610ef6565b3480156101a3575f5ffd5b506101ad60035481565b60405190815260200161014d565b3480156101c6575f5ffd5b506101da6101d5366004610e60565b610536565b005b3480156101e7575f5ffd5b506101da6105f4565b3480156101fb575f5ffd5b506101ad60025481565b348015610210575f5ffd5b506101da610715565b348015610224575f5ffd5b5060045461023990600160a01b900460ff1681565b604051901515815260200161014d565b348015610254575f5ffd5b50476101ad565b348015610266575f5ffd5b5061016a610817565b34801561027a575f5ffd5b506101da610289366004610e60565b610824565b348015610299575f5ffd5b506102396102a8366004610f37565b610946565b3480156102b8575f5ffd5b506004546102cc906001600160a01b031681565b6040516001600160a01b03909116815260200161014d565b3480156102ef575f5ffd5b506101da6102fe366004610f73565b610976565b34801561030e575f5ffd5b506101ad61031d366004611028565b60066020525f908152604090205481565b348015610339575f5ffd5b5060045461018b90600160a81b900460ff1681565b348015610359575f5ffd5b506101da610a67565b6101da610370366004610e60565b610ab2565b348015610380575f5ffd5b50610389610c9b565b60405161014d9190611041565b600581815481106103a5575f80fd5b905f5260205f2090600302015f91509050805f0180546103c4906110c4565b80601f01602080910402602001604051908101604052809291908181526020018280546103f0906110c4565b801561043b5780601f106104125761010080835404028352916020019161043b565b820191905f5260205f20905b81548152906001019060200180831161041e57829003601f168201915b5050505050908060010154908060020154905083565b5f805461045d906110c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610489906110c4565b80156104d45780601f106104ab576101008083540402835291602001916104d4565b820191905f5260205f20905b8154815290600101906020018083116104b757829003601f168201915b505050505081565b5f80600454600160a81b900460ff1660028111156104fc576104fc610ee2565b14801561050a575060035442115b156105255760025447101561051f5750600290565b50600190565b50600454600160a81b900460ff1690565b6004546001600160a01b031633146105695760405162461bcd60e51b8152600401610560906110fc565b60405180910390fd5b5f600454600160a81b900460ff16600281111561058857610588610ee2565b146105cf5760405162461bcd60e51b815260206004820152601760248201527621b0b6b830b4b3b71034b9903737ba1030b1ba34bb329760491b6044820152606401610560565b6105dc8162015180611137565b60035f8282546105ec919061114e565b909155505050565b6004546001600160a01b0316331461061e5760405162461bcd60e51b8152600401610560906110fc565b610626610d9a565b6001600454600160a81b900460ff16600281111561064657610646610ee2565b146106935760405162461bcd60e51b815260206004820152601860248201527f43616d706169676e206e6f74207375636365737366756c2e00000000000000006044820152606401610560565b47806106da5760405162461bcd60e51b81526020600482015260166024820152754e6f2062616c616e636520746f20776974686472617760501b6044820152606401610560565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610711573d5f5f3e3d5ffd5b5050565b61071d610d9a565b6002600454600160a81b900460ff16600281111561073d5761073d610ee2565b146107835760405162461bcd60e51b81526020600482015260166024820152752932b33ab73239903737ba1030bb30b4b630b136329760511b6044820152606401610560565b335f90815260066020526040902054806107df5760405162461bcd60e51b815260206004820152601960248201527f4e6f20636f6e747269627574696f6e20746f20726566756e64000000000000006044820152606401610560565b335f818152600660205260408082208290555183156108fc0291849190818181858888f19350505050158015610711573d5f5f3e3d5ffd5b6001805461045d906110c4565b6004546001600160a01b0316331461084e5760405162461bcd60e51b8152600401610560906110fc565b60055481106108965760405162461bcd60e51b81526020600482015260146024820152732a34b2b9103237b2b9903737ba1032bc34b9ba1760611b6044820152606401610560565b600580546108a690600190611161565b815481106108b6576108b6611174565b905f5260205f209060030201600582815481106108d5576108d5611174565b5f9182526020909120600390910201806108ef83826111d4565b50600182810154908201556002918201549101556005805480610914576109146112ac565b5f828152602081205f19909201916003830201906109328282610e16565b505f60018201819055600290910155905550565b6001600160a01b0382165f90815260066020908152604080832084845260010190915290205460ff165b92915050565b6004546001600160a01b031633146109a05760405162461bcd60e51b8152600401610560906110fc565b5f81116109ef5760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e74206d7573742062652067726561746572207468616e20302e00006044820152606401610560565b60408051606081018252838152602081018390525f918101829052600580546001810182559252805190916003027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001908190610a4c90826112c0565b50602082015181600101556040820151816002015550505050565b6004546001600160a01b03163314610a915760405162461bcd60e51b8152600401610560906110fc565b6004805460ff60a01b198116600160a01b9182900460ff1615909102179055565b5f600454600160a81b900460ff166002811115610ad157610ad1610ee2565b14610b185760405162461bcd60e51b815260206004820152601760248201527621b0b6b830b4b3b71034b9903737ba1030b1ba34bb329760491b6044820152606401610560565b600454600160a01b900460ff1615610b685760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903830bab9b2b21760691b6044820152606401610560565b6005548110610ba95760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a34b2b91760991b6044820152606401610560565b60058181548110610bbc57610bbc611174565b905f5260205f209060030201600101543414610c0e5760405162461bcd60e51b815260206004820152601160248201527024b731b7b93932b1ba1030b6b7bab73a1760791b6044820152606401610560565b60058181548110610c2157610c21611174565b5f91825260208220600260039092020101805491610c3e83611373565b9091555050335f9081526006602052604081208054349290610c6190849061114e565b9091555050335f9081526006602090815260408083208484526001908101909252909120805460ff19169091179055610c98610d9a565b50565b60606005805480602002602001604051908101604052809291908181526020015f905b82821015610d91578382905f5260205f2090600302016040518060600160405290815f82018054610cee906110c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1a906110c4565b8015610d655780601f10610d3c57610100808354040283529160200191610d65565b820191905f5260205f20905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020016001820154815260200160028201548152505081526020019060010190610cbe565b50505050905090565b5f600454600160a81b900460ff166002811115610db957610db9610ee2565b03610e14576003544210610e0457600254471015610dd8576002610ddb565b60015b6004805460ff60a81b1916600160a81b836002811115610dfd57610dfd610ee2565b0217905550565b600254471015610dd8575f610ddb565b565b508054610e22906110c4565b5f825580601f10610e31575050565b601f0160209004905f5260205f2090810190610c9891905b80821115610e5c575f8155600101610e49565b5090565b5f60208284031215610e70575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b606081525f610eb76060830186610e77565b60208301949094525060400152919050565b602081525f610edb6020830184610e77565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b6020810160038310610f1657634e487b7160e01b5f52602160045260245ffd5b91905290565b80356001600160a01b0381168114610f32575f5ffd5b919050565b5f5f60408385031215610f48575f5ffd5b610f5183610f1c565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610f84575f5ffd5b823567ffffffffffffffff811115610f9a575f5ffd5b8301601f81018513610faa575f5ffd5b803567ffffffffffffffff811115610fc457610fc4610f5f565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610ff357610ff3610f5f565b60405281815282820160200187101561100a575f5ffd5b816020840160208301375f6020928201830152969401359450505050565b5f60208284031215611038575f5ffd5b610edb82610f1c565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156110b857603f19878603018452815180516060875261108d6060880182610e77565b6020838101518982015260409384015193909801929092525094938401939190910190600101611067565b50929695505050505050565b600181811c908216806110d857607f821691505b6020821081036110f657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600d908201526c2737ba103a34329037bbb732b960991b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761097057610970611123565b8082018082111561097057610970611123565b8181038181111561097057610970611123565b634e487b7160e01b5f52603260045260245ffd5b601f8211156111cf57805f5260205f20601f840160051c810160208510156111ad5750805b601f840160051c820191505b818110156111cc575f81556001016111b9565b50505b505050565b8181036111df575050565b6111e982546110c4565b67ffffffffffffffff81111561120157611201610f5f565b6112158161120f84546110c4565b84611188565b5f601f821160018114611249575f831561122f5750848201545b600184901b5f19600386901b1c198216175b8555506111cc565b5f8581526020808220868352908220601f198616925b8381101561127f578286015482556001958601959091019060200161125f565b508583101561129c57818501545f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603160045260245ffd5b815167ffffffffffffffff8111156112da576112da610f5f565b6112e88161120f84546110c4565b6020601f821160018114611318575f831561122f575081850151600184901b5f19600386901b1c19821617611241565b5f84815260208120601f198516915b828110156113475787850151825560209485019460019092019101611327565b508482101561136457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f6001820161138457611384611123565b506001019056fea26469706673582212202eb565d821a5ddf9592642cb1a6f8e6bcd12378853acec0f4012abc5fc9ef31e64736f6c634300081c0033a26469706673582212203b48d7911118339e113c4779bd46b60e09aeaa06a2f3603ef98571382bc8221864736f6c634300081c0033
Deployed Bytecode Sourcemap
4330:1647:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4563:27;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;4597:51;;;;;;:::i;:::-;;:::i;4393:18::-;;;;;-1:-1:-1;;;4393:18:0;;;;;;;;;1679:14:1;;1672:22;1654:41;;1642:2;1627:18;4393::0;1514:187:1;5785:104:0;;;:::i;:::-;;;;;;;:::i;4366:20::-;;;;;-1:-1:-1;;;;;4366:20:0;;;;;;-1:-1:-1;;;;;3065:32:1;;;3047:51;;3035:2;3020:18;4366:20:0;2901:203:1;5648:129:0;;;;;;:::i;:::-;;:::i;4915:725::-;;;;;;:::i;:::-;;:::i;:::-;;5897:77;;;:::i;4563:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4563:27:0;;;;-1:-1:-1;4563:27:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4597:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4597:51:0;;;;-1:-1:-1;4597:51:0;;;;;-1:-1:-1;4597:51:0;;;:::i;5785:104::-;5835:17;5872:9;5865:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5865:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5785:104;:::o;5648:129::-;-1:-1:-1;;;;;5749:20:0;;;;;;:13;:20;;;;;;;;5742:27;;;;;;;;;;;;;;;;;5712:17;;5742:27;;5749:20;;5742:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5742:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5648:129;;;:::o;4915:725::-;4800:6;;-1:-1:-1;;;4800:6:0;;;;4799:7;4791:37;;;;-1:-1:-1;;;4791:37:0;;5528:2:1;4791:37:0;;;5510:21:1;5567:2;5547:18;;;5540:30;-1:-1:-1;;;5586:18:1;;;5579:47;5643:18;;4791:37:0;;;;;;;;;5101:24:::1;5159:10;5184:5;5204:12;5231:5;5251:15;5128:149;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;5374:170:0::1;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;5374:170:0;;::::1;::::0;;5452:10:::1;5374:170;::::0;::::1;::::0;;;;;;;;;5517:15:::1;5374:170:::0;;;;5557:9:::1;:24:::0;;;;::::1;::::0;;5288:23:::1;5557:24:::0;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;;;;5557:24:0;;::::1;;::::0;;;;;;;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;5101:176;;-1:-1:-1;5101:176:0;;5374:170;;;;5557:24;;;;;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;5557:24:0::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;5606:10:::1;5592:25;::::0;;;:13:::1;:25;::::0;;;;;;;:40;;::::1;::::0;;::::1;::::0;;;;;;;;;;;::::1;::::0;;::::1;;::::0;;-1:-1:-1;;;;;;5592:40:0;;::::1;-1:-1:-1::0;;;;;5592:40:0;;::::1;;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;;;;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;;;;;;;;5090:550;;;4915:725:::0;;;;:::o;5897:77::-;4711:5;;-1:-1:-1;;;;;4711:5:0;4697:10;:19;4689:42;;;;-1:-1:-1;;;4689:42:0;;8628:2:1;4689:42:0;;;8610:21:1;8667:2;8647:18;;;8640:30;-1:-1:-1;;;8686:18:1;;;8679:40;8736:18;;4689:42:0;8426:334:1;4689:42:0;5960:6:::1;::::0;;-1:-1:-1;;;;5950:16:0;::::1;-1:-1:-1::0;;;5960:6:0;;;::::1;;;5959:7;5950:16:::0;;::::1;;::::0;;5897:77::o;-1:-1:-1:-;;;;;;;;:::o;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;245:289::-;287:3;325:5;319:12;352:6;347:3;340:19;408:6;401:4;394:5;390:16;383:4;378:3;374:14;368:47;460:1;453:4;444:6;439:3;435:16;431:27;424:38;523:4;516:2;512:7;507:2;499:6;495:15;491:29;486:3;482:39;478:50;471:57;;;245:289;;;;:::o;539:487::-;-1:-1:-1;;;;;772:32:1;;;754:51;;841:32;;836:2;821:18;;814:60;910:3;905:2;890:18;;883:31;;;-1:-1:-1;;931:46:1;;957:19;;949:6;931:46;:::i;:::-;923:54;;1013:6;1008:2;997:9;993:18;986:34;539:487;;;;;;;:::o;1031:173::-;1099:20;;-1:-1:-1;;;;;1148:31:1;;1138:42;;1128:70;;1194:1;1191;1184:12;1128:70;1031:173;;;:::o;1209:300::-;1277:6;1285;1338:2;1326:9;1317:7;1313:23;1309:32;1306:52;;;1354:1;1351;1344:12;1306:52;1377:29;1396:9;1377:29;:::i;:::-;1367:39;1475:2;1460:18;;;;1447:32;;-1:-1:-1;;;1209:300:1:o;1706:1190::-;1898:4;1946:2;1935:9;1931:18;1976:2;1965:9;1958:21;1999:6;2034;2028:13;2065:6;2057;2050:22;2103:2;2092:9;2088:18;2081:25;;2165:2;2155:6;2152:1;2148:14;2137:9;2133:30;2129:39;2115:53;;2203:2;2195:6;2191:15;2224:1;2234:633;2248:6;2245:1;2242:13;2234:633;;;2313:22;;;-1:-1:-1;;2309:36:1;2297:49;;2369:13;;2414:9;;-1:-1:-1;;;;;2410:35:1;;;2395:51;;2501:2;2493:11;;;2487:18;2483:44;;;2466:15;;;2459:69;2575:2;2567:11;;;2561:18;2616:4;2599:15;;;2592:29;;;2561:18;2648:50;;2680:17;;2561:18;2648:50;:::i;:::-;2751:4;2743:13;;;2737:20;2718:17;;;;2711:47;;;;2634:64;-1:-1:-1;2822:2:1;2845:12;;;;2810:15;;;;;2270:1;2263:9;2234:633;;;-1:-1:-1;2884:6:1;;1706:1190;-1:-1:-1;;;;;;1706:1190:1:o;3109:186::-;3168:6;3221:2;3209:9;3200:7;3196:23;3192:32;3189:52;;;3237:1;3234;3227:12;3189:52;3260:29;3279:9;3260:29;:::i;:::-;3250:39;3109:186;-1:-1:-1;;;3109:186:1:o;3300:127::-;3361:10;3356:3;3352:20;3349:1;3342:31;3392:4;3389:1;3382:15;3416:4;3413:1;3406:15;3432:726;3475:5;3528:3;3521:4;3513:6;3509:17;3505:27;3495:55;;3546:1;3543;3536:12;3495:55;3586:6;3573:20;3616:18;3608:6;3605:30;3602:56;;;3638:18;;:::i;:::-;3687:2;3681:9;3779:2;3741:17;;-1:-1:-1;;3737:31:1;;;3770:2;3733:40;3729:54;3717:67;;3814:18;3799:34;;3835:22;;;3796:62;3793:88;;;3861:18;;:::i;:::-;3897:2;3890:22;3921;;;3962:19;;;3983:4;3958:30;3955:39;-1:-1:-1;3952:59:1;;;4007:1;4004;3997:12;3952:59;4071:6;4064:4;4056:6;4052:17;4045:4;4037:6;4033:17;4020:58;4126:1;4098:19;;;4119:4;4094:30;4087:41;;;;4102:6;3432:726;-1:-1:-1;;;3432:726:1:o;4163:773::-;4269:6;4277;4285;4293;4346:3;4334:9;4325:7;4321:23;4317:33;4314:53;;;4363:1;4360;4353:12;4314:53;4403:9;4390:23;4436:18;4428:6;4425:30;4422:50;;;4468:1;4465;4458:12;4422:50;4491;4533:7;4524:6;4513:9;4509:22;4491:50;:::i;:::-;4481:60;;;4594:2;4583:9;4579:18;4566:32;4623:18;4613:8;4610:32;4607:52;;;4655:1;4652;4645:12;4607:52;4678;4722:7;4711:8;4700:9;4696:24;4678:52;:::i;:::-;4163:773;;4668:62;;-1:-1:-1;;;;4799:2:1;4784:18;;4771:32;;4900:2;4885:18;4872:32;;4163:773;-1:-1:-1;4163:773:1:o;4941:380::-;5020:1;5016:12;;;;5063;;;5084:61;;5138:4;5130:6;5126:17;5116:27;;5084:61;5191:2;5183:6;5180:14;5160:18;5157:38;5154:161;;5237:10;5232:3;5228:20;5225:1;5218:31;5272:4;5269:1;5262:15;5300:4;5297:1;5290:15;5154:161;;4941:380;;;:::o;5672:625::-;-1:-1:-1;;;;;5953:32:1;;5935:51;;5973:3;6017:2;6002:18;;5995:31;;;-1:-1:-1;;6049:46:1;;6075:19;;6067:6;6049:46;:::i;:::-;6143:9;6135:6;6131:22;6126:2;6115:9;6111:18;6104:50;6171:33;6197:6;6189;6171:33;:::i;:::-;6235:2;6220:18;;6213:34;;;;-1:-1:-1;;6278:3:1;6263:19;6256:35;6163:41;5672:625;-1:-1:-1;;;5672:625:1:o;6428:518::-;6530:2;6525:3;6522:11;6519:421;;;6566:5;6563:1;6556:16;6610:4;6607:1;6597:18;6680:2;6668:10;6664:19;6661:1;6657:27;6651:4;6647:38;6716:4;6704:10;6701:20;6698:47;;;-1:-1:-1;6739:4:1;6698:47;6794:2;6789:3;6785:12;6782:1;6778:20;6772:4;6768:31;6758:41;;6849:81;6867:2;6860:5;6857:13;6849:81;;;6926:1;6912:16;;6893:1;6882:13;6849:81;;;6853:3;;6519:421;6428:518;;;:::o;7122:1299::-;7248:3;7242:10;7275:18;7267:6;7264:30;7261:56;;;7297:18;;:::i;:::-;7326:97;7416:6;7376:38;7408:4;7402:11;7376:38;:::i;:::-;7370:4;7326:97;:::i;:::-;7472:4;7503:2;7492:14;;7520:1;7515:649;;;;8208:1;8225:6;8222:89;;;-1:-1:-1;8277:19:1;;;8271:26;8222:89;-1:-1:-1;;7079:1:1;7075:11;;;7071:24;7067:29;7057:40;7103:1;7099:11;;;7054:57;8324:81;;7485:930;;7515:649;6375:1;6368:14;;;6412:4;6399:18;;-1:-1:-1;;7551:20:1;;;7669:222;7683:7;7680:1;7677:14;7669:222;;;7765:19;;;7759:26;7744:42;;7872:4;7857:20;;;;7825:1;7813:14;;;;7699:12;7669:222;;;7673:3;7919:6;7910:7;7907:19;7904:201;;;7980:19;;;7974:26;-1:-1:-1;;8063:1:1;8059:14;;;8075:3;8055:24;8051:37;8047:42;8032:58;8017:74;;7904:201;-1:-1:-1;;;;8151:1:1;8135:14;;;8131:22;8118:36;;-1:-1:-1;7122:1299:1:o
Swarm Source
ipfs://3b48d7911118339e113c4779bd46b60e09aeaa06a2f3603ef98571382bc82218
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.