Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
11589856 | 1178 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
DssSpell
Compiler Version
v0.6.11+commit.5ef660b1
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-04 */ // hevm: flattened sources of src/DssSpell.sol pragma solidity =0.6.11 >=0.5.12; ////// lib/dss-interfaces/src/dapp/DSPauseAbstract.sol /* pragma solidity >=0.5.12; */ // https://github.com/dapphub/ds-pause interface DSPauseAbstract { function owner() external view returns (address); function authority() external view returns (address); function setOwner(address) external; function setAuthority(address) external; function setDelay(uint256) external; function plans(bytes32) external view returns (bool); function proxy() external view returns (address); function delay() external view returns (uint256); function plot(address, bytes32, bytes calldata, uint256) external; function drop(address, bytes32, bytes calldata, uint256) external; function exec(address, bytes32, bytes calldata, uint256) external returns (bytes memory); } ////// lib/dss-interfaces/src/dss/ChainlogAbstract.sol /* pragma solidity >=0.5.12; */ // https://github.com/makerdao/dss-chain-log interface ChainlogAbstract { function wards(address) external view returns (uint256); function rely(address) external; function deny(address) external; function keys() external view returns (bytes32[] memory); function version() external view returns (string memory); function ipfs() external view returns (string memory); function setVersion(string calldata) external; function setSha256sum(string calldata) external; function setIPFS(string calldata) external; function setAddress(bytes32,address) external; function removeAddress(bytes32) external; function count() external view returns (uint256); function get(uint256) external view returns (bytes32,address); function list() external view returns (bytes32[] memory); function getAddress(bytes32) external view returns (address); } // Helper function for returning address or abstract of Chainlog // Valid on Mainnet, Kovan, Rinkeby, Ropsten, and Goerli contract ChainlogHelper { address public constant ADDRESS = 0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F; ChainlogAbstract public constant ABSTRACT = ChainlogAbstract(ADDRESS); } ////// lib/dss-interfaces/src/dss/VatAbstract.sol /* pragma solidity >=0.5.12; */ // https://github.com/makerdao/dss/blob/master/src/vat.sol interface VatAbstract { function wards(address) external view returns (uint256); function rely(address) external; function deny(address) external; function can(address, address) external view returns (uint256); function hope(address) external; function nope(address) external; function ilks(bytes32) external view returns (uint256, uint256, uint256, uint256, uint256); function urns(bytes32, address) external view returns (uint256, uint256); function gem(bytes32, address) external view returns (uint256); function dai(address) external view returns (uint256); function sin(address) external view returns (uint256); function debt() external view returns (uint256); function vice() external view returns (uint256); function Line() external view returns (uint256); function live() external view returns (uint256); function init(bytes32) external; function file(bytes32, uint256) external; function file(bytes32, bytes32, uint256) external; function cage() external; function slip(bytes32, address, int256) external; function flux(bytes32, address, address, uint256) external; function move(address, address, uint256) external; function frob(bytes32, address, address, address, int256, int256) external; function fork(bytes32, address, address, int256, int256) external; function grab(bytes32, address, address, address, int256, int256) external; function heal(uint256) external; function suck(address, address, uint256) external; function fold(bytes32, address, int256) external; } ////// src/DssSpell.sol // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (C) 2021 Maker Ecosystem Growth Holdings, INC. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. /* pragma solidity 0.6.11; */ /* import "lib/dss-interfaces/src/dapp/DSPauseAbstract.sol"; */ /* import "lib/dss-interfaces/src/dss/ChainlogAbstract.sol"; */ /* import "lib/dss-interfaces/src/dss/VatAbstract.sol"; */ contract SpellAction { // Office hours enabled if true bool constant public officeHours = false; // MAINNET ADDRESSES // // The contracts in this list should correspond to MCD core contracts, verify // against the current release list at: // https://changelog.makerdao.com/releases/mainnet/active/contracts.json ChainlogAbstract constant CHANGELOG = ChainlogAbstract(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F); // Ilks bytes32 constant ILK_ETH_A = "ETH-A"; bytes32 constant ILK_USDC_A = "USDC-A"; bytes32 constant ILK_PSM_USDC_A = "PSM-USDC-A"; // decimals & precision uint256 constant THOUSAND = 10 ** 3; uint256 constant MILLION = 10 ** 6; uint256 constant WAD = 10 ** 18; uint256 constant RAY = 10 ** 27; uint256 constant RAD = 10 ** 45; // Many of the settings that change weekly rely on the rate accumulator // described at https://docs.makerdao.com/smart-contract-modules/rates-module // To check this yourself, use the following rate calculation (example 8%): // // $ bc -l <<< 'scale=27; e( l(1.08)/(60 * 60 * 24 * 365) )' // // A table of rates can be found at // https://ipfs.io/ipfs/QmefQMseb3AiTapiAKKexdKHig8wroKuZbmLtPLv4u2YwW // modifier limited { if (officeHours) { uint day = (block.timestamp / 1 days + 3) % 7; require(day < 5, "Can only be cast on a weekday"); uint hour = block.timestamp / 1 hours % 24; require(hour >= 14 && hour < 21, "Outside office hours"); } _; } function execute() external limited { address MCD_VAT = CHANGELOG.getAddress("MCD_VAT"); // Set the global debt ceiling // + 150 M for ETH-A // + 70 M for USDC-A // + 27 M for PSM-USDC-A VatAbstract(MCD_VAT).file("Line", VatAbstract(MCD_VAT).Line() + 150 * MILLION * RAD + 70 * MILLION * RAD + 27 * MILLION * RAD ); // // Update the Debt Ceilings // VatAbstract(MCD_VAT).file(ILK_ETH_A, "line", 740 * MILLION * RAD); VatAbstract(MCD_VAT).file(ILK_USDC_A, "line", 555 * MILLION * RAD); VatAbstract(MCD_VAT).file(ILK_PSM_USDC_A, "line", 30 * MILLION * RAD); } } contract DssSpell { ChainlogAbstract constant CHANGELOG = ChainlogAbstract(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F); DSPauseAbstract immutable public pause; address immutable public action; bytes32 immutable public tag; uint256 immutable public expiration; uint256 public eta; bytes public sig; bool public done; // Provides a descriptive tag for bot consumption // This should be modified weekly to provide a summary of the actions // Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/community/6973811787c72be261d319094f680f868b4f5650/governance/votes/Community%20Executive%20vote%20-%20January%204%2C%202021.md -q -O - 2>/dev/null)" string constant public description = "2021-01-04 MakerDAO Executive Spell | Hash: 0xa901faeb46a2940a723ed32017bbd1b8f1bc3749560c0911d102de4338ece3ef"; function officeHours() external view returns (bool) { return SpellAction(action).officeHours(); } constructor() public { pause = DSPauseAbstract(CHANGELOG.getAddress("MCD_PAUSE")); sig = abi.encodeWithSignature("execute()"); bytes32 _tag; address _action = action = address(new SpellAction()); assembly { _tag := extcodehash(_action) } tag = _tag; expiration = block.timestamp + 30 days; } function nextCastTime() external view returns (uint256 castTime) { require(eta != 0, "DSSSpell/spell-not-scheduled"); castTime = block.timestamp > eta ? block.timestamp : eta; // Any day at XX:YY if (SpellAction(action).officeHours()) { uint256 day = (castTime / 1 days + 3) % 7; uint256 hour = castTime / 1 hours % 24; uint256 minute = castTime / 1 minutes % 60; uint256 second = castTime % 60; if (day >= 5) { castTime += (6 - day) * 1 days; // Go to Sunday XX:YY castTime += (24 - hour + 14) * 1 hours; // Go to 14:YY UTC Monday castTime -= minute * 1 minutes + second; // Go to 14:00 UTC } else { if (hour >= 21) { if (day == 4) castTime += 2 days; // If Friday, fast forward to Sunday XX:YY castTime += (24 - hour + 14) * 1 hours; // Go to 14:YY UTC next day castTime -= minute * 1 minutes + second; // Go to 14:00 UTC } else if (hour < 14) { castTime += (14 - hour) * 1 hours; // Go to 14:YY UTC same day castTime -= minute * 1 minutes + second; // Go to 14:00 UTC } } } } function schedule() external { require(block.timestamp <= expiration, "DSSSpell/spell-has-expired"); require(eta == 0, "DSSSpell/spell-already-scheduled"); eta = block.timestamp + DSPauseAbstract(pause).delay(); pause.plot(action, tag, sig, eta); } function cast() external { require(!done, "DSSSpell/spell-already-cast"); done = true; pause.exec(action, tag, sig, eta); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"action","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cast","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"done","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"expiration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextCastTime","outputs":[{"internalType":"uint256","name":"castTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"officeHours","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"contract DSPauseAbstract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"schedule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sig","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tag","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
61010060405234801561001157600080fd5b50604080516321f8a72160e01b8152684d43445f504155534560b81b6004820152905173da0ab1e0017debcd72be8599041a2aa3ba7e740f916321f8a721916024808301926020929190829003018186803b15801561006f57600080fd5b505afa158015610083573d6000803e3d6000fd5b505050506040513d602081101561009957600080fd5b505160601b6001600160601b031916608052604080516004815260248101909152602081018051631851865560e21b6001600160e01b0390911617815290516100e491600191610140565b506000806040516100f4906101be565b604051809103906000f080158015610110573d6000803e3d6000fd5b506001600160601b0319606082901b1660a0526001600160a01b03163f60c052505062278d00420160e0526101e8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018157805160ff19168380011785556101ae565b828001600101855582156101ae579182015b828111156101ae578251825591602001919060010190610193565b506101ba9291506101cb565b5090565b61041e80610d7383390190565b6101e591905b808211156101ba57600081556001016101d1565b90565b60805160601c60a05160601c60c05160e051610b1e610255600039806102745280610624525080610298528061043152806107b752508061025052806102be52806103fe528061078c5280610941525080610365528061048352806106eb528061080c5250610b1e6000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c8062a7029b146100a85780630a7a1c4d146101255780634665096d1461014957806351f91066146101635780636e832f071461016b5780637284e416146101875780638456cb591461018f57806396d373e514610197578063ae8421e1146101a1578063b0604a26146101a9578063f7992d85146101b1578063fe7d47bb146101b9575b600080fd5b6100b06101c1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ea5781810151838201526020016100d2565b50505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61012d61024e565b604080516001600160a01b039092168252519081900360200190f35b610151610272565b60408051918252519081900360200190f35b610151610296565b6101736102ba565b604080519115158252519081900360200190f35b6100b0610347565b61012d610363565b61019f610387565b005b610173610619565b61019f610622565b6101516108d0565b6101516108d6565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102465780601f1061021b57610100808354040283529160200191610246565b820191906000526020600020905b81548152906001019060200180831161022957829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561031557600080fd5b505afa158015610329573d6000803e3d6000fd5b505050506040513d602081101561033f57600080fd5b505190505b90565b6040518060a00160405280606e8152602001610a7b606e913981565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff16156103dd576040805162461bcd60e51b815260206004820152601b60248201527a1114d4d4dc195b1b0bdcdc195b1b0b585b1c9958591e4b58d85cdd602a1b604482015290519081900360640190fd5b6002805460ff19166001908117825560005460405163168ccd6760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03818116600484019081527f000000000000000000000000000000000000000000000000000000000000000060248501819052606485018690526080604486019081528754600019818a161561010002011698909804608486018190527f0000000000000000000000000000000000000000000000000000000000000000939093169763168ccd6797949691959193909160a40190859080156105085780601f106104dd57610100808354040283529160200191610508565b820191906000526020600020905b8154815290600101906020018083116104eb57829003601f168201915b505095505050505050600060405180830381600087803b15801561052b57600080fd5b505af115801561053f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561056857600080fd5b8101908080516040519392919084600160201b82111561058757600080fd5b90830190602082018581111561059c57600080fd5b8251600160201b8111828201881017156105b557600080fd5b82525081516020918201929091019080838360005b838110156105e25781810151838201526020016105ca565b50505050905090810190601f16801561060f5780820380516001836020036101000a031916815260200191505b5060405250505050565b60025460ff1681565b7f0000000000000000000000000000000000000000000000000000000000000000421115610694576040805162461bcd60e51b815260206004820152601a6024820152791114d4d4dc195b1b0bdcdc195b1b0b5a185ccb595e1c1a5c995960321b604482015290519081900360640190fd5b600054156106e9576040805162461bcd60e51b815260206004820181905260248201527f4453535370656c6c2f7370656c6c2d616c72656164792d7363686564756c6564604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561074257600080fd5b505afa158015610756573d6000803e3d6000fd5b505050506040513d602081101561076c57600080fd5b5051420160008190556040516346d2fbbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000818116600484019081527f0000000000000000000000000000000000000000000000000000000000000000602485018190526064850186905260806044860190815260018054600281831615610100026000190190911604608488018190527f0000000000000000000000000000000000000000000000000000000000000000909616976346d2fbbb97959693959194909390929160a40190859080156108935780601f1061086857610100808354040283529160200191610893565b820191906000526020600020905b81548152906001019060200180831161087657829003601f168201915b505095505050505050600060405180830381600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b50505050565b60005481565b6000805461092a576040805162461bcd60e51b815260206004820152601c60248201527b1114d4d4dc195b1b0bdcdc195b1b0b5b9bdd0b5cd8da19591d5b195960221b604482015290519081900360640190fd5b600054421161093b5760005461093d565b425b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b505115610344576007620151808204600301066018610e10830406603c80840481900690840660058410610a1b578360060362015180028501945082601803600e01610e1002850194508082603c020185039450610a73565b60158310610a53578360041415610a35576202a300850194505b82601803600e01610e1002850194508082603c020185039450610a73565b600e831015610a735782600e03610e1002850194508082603c0201850394505b505050509056fe323032312d30312d3034204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307861393031666165623436613239343061373233656433323031376262643162386631626333373439353630633039313164313032646534333338656365336566a2646970667358221220a5b7d687af9dce37765dc35780e303464509a38f8d59ecbb2e97c40b3daf076564736f6c634300060b0033608060405234801561001057600080fd5b506103fe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063614619541461003b5780636e832f0714610045575b600080fd5b610043610061565b005b61004d6103c3565b604080519115158252519081900360200190f35b600073da0ab1e0017debcd72be8599041a2aa3ba7e740f6001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080661350d117d5905560ca1b815250602001905060206040518083038186803b1580156100c557600080fd5b505afa1580156100d9573d6000803e3d6000fd5b505050506040513d60208110156100ef57600080fd5b50516040805163babe8a3f60e01b815290519192506001600160a01b038316916329ae8114916f090544ca25a70d04680957afbc72a9ef60331b916f0bb17f190166c505b644ffe3ce5bbfd760341b916f190ea2a34c255d0c3d6f48e827e92d5f60341b91869163babe8a3f916004808301926020929190829003018186803b15801561017b57600080fd5b505afa15801561018f573d6000803e3d6000fd5b505050506040513d60208110156101a557600080fd5b5051604080516001600160e01b031960e088901b168152634c696e6560e01b6004820152929091019290920192909201602483015251604480830192600092919082900301818387803b1580156101fb57600080fd5b505af115801561020f573d6000803e3d6000fd5b505060408051630d05943f60e11b8152644554482d4160d81b6004820152636c696e6560e01b60248201526f3dcec45f99b17f1e312391b41e2e1a9560351b604482015290516001600160a01b0385169350631a0b287e9250606480830192600092919082900301818387803b15801561028857600080fd5b505af115801561029c573d6000803e3d6000fd5b505060408051630d05943f60e11b815265555344432d4160d01b6004820152636c696e6560e01b60248201526fb96c4d1ecd147d5a936ab51c5a8a4fbf60331b604482015290516001600160a01b0385169350631a0b287e9250606480830192600092919082900301818387803b15801561031657600080fd5b505af115801561032a573d6000803e3d6000fd5b505060408051630d05943f60e11b81526950534d2d555344432d4160b01b6004820152636c696e6560e01b60248201526f0502ed53dc07790272afdb61a195091360341b604482015290516001600160a01b0385169350631a0b287e9250606480830192600092919082900301818387803b1580156103a857600080fd5b505af11580156103bc573d6000803e3d6000fd5b5050505050565b60008156fea2646970667358221220a6a038796d50551db5308149e890a102d9ee2194d81caa32ca05b7f3a5015c4664736f6c634300060b0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a35760003560e01c8062a7029b146100a85780630a7a1c4d146101255780634665096d1461014957806351f91066146101635780636e832f071461016b5780637284e416146101875780638456cb591461018f57806396d373e514610197578063ae8421e1146101a1578063b0604a26146101a9578063f7992d85146101b1578063fe7d47bb146101b9575b600080fd5b6100b06101c1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ea5781810151838201526020016100d2565b50505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61012d61024e565b604080516001600160a01b039092168252519081900360200190f35b610151610272565b60408051918252519081900360200190f35b610151610296565b6101736102ba565b604080519115158252519081900360200190f35b6100b0610347565b61012d610363565b61019f610387565b005b610173610619565b61019f610622565b6101516108d0565b6101516108d6565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102465780601f1061021b57610100808354040283529160200191610246565b820191906000526020600020905b81548152906001019060200180831161022957829003601f168201915b505050505081565b7f00000000000000000000000049114e6dfd52f9038cc87515e1fa55803e262e4381565b7f00000000000000000000000000000000000000000000000000000000601af71781565b7fcbd3ad4fee3fb5d3544ba0ff3e67935073f985d69cc3427a8067921a7b2d676c81565b60007f00000000000000000000000049114e6dfd52f9038cc87515e1fa55803e262e436001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561031557600080fd5b505afa158015610329573d6000803e3d6000fd5b505050506040513d602081101561033f57600080fd5b505190505b90565b6040518060a00160405280606e8152602001610a7b606e913981565b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f381565b60025460ff16156103dd576040805162461bcd60e51b815260206004820152601b60248201527a1114d4d4dc195b1b0bdcdc195b1b0b585b1c9958591e4b58d85cdd602a1b604482015290519081900360640190fd5b6002805460ff19166001908117825560005460405163168ccd6760e01b81527f00000000000000000000000049114e6dfd52f9038cc87515e1fa55803e262e436001600160a01b03818116600484019081527fcbd3ad4fee3fb5d3544ba0ff3e67935073f985d69cc3427a8067921a7b2d676c60248501819052606485018690526080604486019081528754600019818a161561010002011698909804608486018190527f000000000000000000000000be286431454714f511008713973d3b053a2d38f3939093169763168ccd6797949691959193909160a40190859080156105085780601f106104dd57610100808354040283529160200191610508565b820191906000526020600020905b8154815290600101906020018083116104eb57829003601f168201915b505095505050505050600060405180830381600087803b15801561052b57600080fd5b505af115801561053f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561056857600080fd5b8101908080516040519392919084600160201b82111561058757600080fd5b90830190602082018581111561059c57600080fd5b8251600160201b8111828201881017156105b557600080fd5b82525081516020918201929091019080838360005b838110156105e25781810151838201526020016105ca565b50505050905090810190601f16801561060f5780820380516001836020036101000a031916815260200191505b5060405250505050565b60025460ff1681565b7f00000000000000000000000000000000000000000000000000000000601af717421115610694576040805162461bcd60e51b815260206004820152601a6024820152791114d4d4dc195b1b0bdcdc195b1b0b5a185ccb595e1c1a5c995960321b604482015290519081900360640190fd5b600054156106e9576040805162461bcd60e51b815260206004820181905260248201527f4453535370656c6c2f7370656c6c2d616c72656164792d7363686564756c6564604482015290519081900360640190fd5b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f36001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561074257600080fd5b505afa158015610756573d6000803e3d6000fd5b505050506040513d602081101561076c57600080fd5b5051420160008190556040516346d2fbbb60e01b81526001600160a01b037f00000000000000000000000049114e6dfd52f9038cc87515e1fa55803e262e43818116600484019081527fcbd3ad4fee3fb5d3544ba0ff3e67935073f985d69cc3427a8067921a7b2d676c602485018190526064850186905260806044860190815260018054600281831615610100026000190190911604608488018190527f000000000000000000000000be286431454714f511008713973d3b053a2d38f3909616976346d2fbbb97959693959194909390929160a40190859080156108935780601f1061086857610100808354040283529160200191610893565b820191906000526020600020905b81548152906001019060200180831161087657829003601f168201915b505095505050505050600060405180830381600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b50505050565b60005481565b6000805461092a576040805162461bcd60e51b815260206004820152601c60248201527b1114d4d4dc195b1b0bdcdc195b1b0b5b9bdd0b5cd8da19591d5b195960221b604482015290519081900360640190fd5b600054421161093b5760005461093d565b425b90507f00000000000000000000000049114e6dfd52f9038cc87515e1fa55803e262e436001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b505115610344576007620151808204600301066018610e10830406603c80840481900690840660058410610a1b578360060362015180028501945082601803600e01610e1002850194508082603c020185039450610a73565b60158310610a53578360041415610a35576202a300850194505b82601803600e01610e1002850194508082603c020185039450610a73565b600e831015610a735782600e03610e1002850194508082603c0201850394505b505050509056fe323032312d30312d3034204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307861393031666165623436613239343061373233656433323031376262643162386631626333373439353630633039313164313032646534333338656365336566a2646970667358221220a5b7d687af9dce37765dc35780e303464509a38f8d59ecbb2e97c40b3daf076564736f6c634300060b0033
Deployed Bytecode Sourcemap
7477:3289:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7835:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7663:39;;;:::i;:::-;;;;-1:-1:-1;;;;;7663:39:0;;;;;;;;;;;;;;7752:43;;;:::i;:::-;;;;;;;;;;;;;;;;7709:36;;;:::i;8431:111::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;8264:158;;;:::i;7618:38::-;;;:::i;10608:155::-;;;:::i;:::-;;7868:27;;;:::i;10311:289::-;;;:::i;7802:26::-;;;:::i;8917:1386::-;;;:::i;7835:26::-;;;;;;;;;;;;;;;-1:-1:-1;;7835:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7663:39::-;;;:::o;7752:43::-;;;:::o;7709:36::-;;;:::o;8431:111::-;8477:4;8513:6;-1:-1:-1;;;;;8501:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8501:33:0;;-1:-1:-1;8431:111:0;;:::o;8264:158::-;;;;;;;;;;;;;;;;;;;:::o;7618:38::-;;;:::o;10608:155::-;10653:4;;;;10652:5;10644:45;;;;;-1:-1:-1;;;10644:45:0;;;;;;;;;;;;-1:-1:-1;;;10644:45:0;;;;;;;;;;;;;;;10700:4;:11;;-1:-1:-1;;10700:11:0;10707:4;10700:11;;;;;:4;10751:3;10722:33;;-1:-1:-1;;;10722:33:0;;10733:6;-1:-1:-1;;;;;10722:33:0;;;;;;;;;10741:3;10722:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10722:33:0;;;;10700:11;10722:33;;;;;;;;;;;;;:5;:10;;;;;;;10733:6;;10741:3;;10751;;10722:33;;;;;10707:4;;10722:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10722:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10722:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10722:33:0;;;;;;-1:-1:-1;10722:33:0;;;;;;;;;;-1:-1:-1;10722:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10608:155::o;7868:27::-;;;;;;:::o;10311:289::-;10378:10;10359:15;:29;;10351:68;;;;;-1:-1:-1;;;10351:68:0;;;;;;;;;;;;-1:-1:-1;;;10351:68:0;;;;;;;;;;;;;;;10438:3;;:8;10430:53;;;;;-1:-1:-1;;;10430:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10534:5;-1:-1:-1;;;;;10518:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10518:30:0;10500:15;:48;10494:3;:54;;;10559:33;;-1:-1:-1;;;10559:33:0;;-1:-1:-1;;;;;10570:6:0;10559:33;;;;;;;;;10578:3;10559:33;;;;;;;;;;;;;;;;;;;10583:3;10559:33;;;;;;;;;-1:-1:-1;;10559:33:0;;;;;;;;;;;:5;:10;;;;;;10570:6;;10578:3;;10583;;10500:48;;10559:33;;;;;;10583:3;;10559:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10311:289::o;7802:26::-;;;;:::o;8917:1386::-;8964:16;9001:3;;8993:49;;;;;-1:-1:-1;;;8993:49:0;;;;;;;;;;;;-1:-1:-1;;;8993:49:0;;;;;;;;;;;;;;;9082:3;;9064:15;:21;:45;;9106:3;;9064:45;;;9088:15;9064:45;9053:56;;9158:6;-1:-1:-1;;;;;9146:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9146:33:0;9142:1154;;;9239:1;9225:6;9214:17;;9234:1;9214:21;9213:27;9293:2;9283:7;9272:18;;:23;9350:2;9327:20;;;:25;;;;9384:13;;9425:1;9418:8;;9414:871;;9464:3;9460:1;:7;9471:6;9459:18;9447:30;;;;9552:4;9547:2;:9;9559:2;9547:14;9565:7;9546:26;9534:38;;;;9658:6;9637;9646:9;9637:18;:27;9625:39;;;;9414:871;;;9743:2;9735:4;:10;9731:539;;9774:3;9781:1;9774:8;9770:32;;;9796:6;9784:18;;;;9770:32;9896:4;9891:2;:9;9903:2;9891:14;9909:7;9890:26;9878:38;;;;10004:6;9983;9992:9;9983:18;:27;9971:39;;;;9731:539;;;10069:2;10062:4;:9;10058:212;;;10114:4;10109:2;:9;10122:7;10108:21;10096:33;;;;10222:6;10201;10210:9;10201:18;:27;10189:39;;;;10058:212;9142:1154;;;;8917:1386;:::o
Swarm Source
ipfs://a6a038796d50551db5308149e890a102d9ee2194d81caa32ca05b7f3a5015c46
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 24 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.