Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
0x60e06040 | 19882927 | 314 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
DssSpell
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-05-16 */ // hevm: flattened sources of src/DssSpell.sol // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity =0.8.16 >=0.5.12 >=0.8.16 <0.9.0; ////// lib/dss-exec-lib/src/CollateralOpts.sol // // CollateralOpts.sol -- Data structure for onboarding collateral // // Copyright (C) 2020-2022 Dai Foundation // // 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.8.16; */ struct CollateralOpts { bytes32 ilk; address gem; address join; address clip; address calc; address pip; bool isLiquidatable; bool isOSM; bool whitelistOSM; uint256 ilkDebtCeiling; uint256 minVaultAmount; uint256 maxLiquidationAmount; uint256 liquidationPenalty; uint256 ilkStabilityFee; uint256 startingPriceFactor; uint256 breakerTolerance; uint256 auctionDuration; uint256 permittedDrop; uint256 liquidationRatio; uint256 kprFlatReward; uint256 kprPctReward; } ////// lib/dss-exec-lib/src/DssExecLib.sol // // DssExecLib.sol -- MakerDAO Executive Spellcrafting Library // // Copyright (C) 2020-2022 Dai Foundation // // 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.8.16; */ /* import { CollateralOpts } from "./CollateralOpts.sol"; */ interface Initializable { function init(bytes32) external; } interface Authorizable { function rely(address) external; function deny(address) external; function setAuthority(address) external; } interface Fileable { function file(bytes32, address) external; function file(bytes32, uint256) external; function file(bytes32, bytes32, uint256) external; function file(bytes32, bytes32, address) external; } interface Drippable { function drip() external returns (uint256); function drip(bytes32) external returns (uint256); } interface Pricing { function poke(bytes32) external; } interface ERC20 { function decimals() external returns (uint8); } interface DssVat { function hope(address) external; function nope(address) external; function ilks(bytes32) external returns (uint256 Art, uint256 rate, uint256 spot, uint256 line, uint256 dust); function Line() external view returns (uint256); function suck(address, address, uint256) external; } interface ClipLike { function vat() external returns (address); function dog() external returns (address); function spotter() external view returns (address); function calc() external view returns (address); function ilk() external returns (bytes32); } interface DogLike { function ilks(bytes32) external returns (address clip, uint256 chop, uint256 hole, uint256 dirt); } interface JoinLike { function vat() external returns (address); function ilk() external returns (bytes32); function gem() external returns (address); function dec() external returns (uint256); function join(address, uint256) external; function exit(address, uint256) external; } // Includes Median and OSM functions interface OracleLike_2 { function src() external view returns (address); function lift(address[] calldata) external; function drop(address[] calldata) external; function setBar(uint256) external; function kiss(address) external; function diss(address) external; function kiss(address[] calldata) external; function diss(address[] calldata) external; function orb0() external view returns (address); function orb1() external view returns (address); } interface MomLike { function setOsm(bytes32, address) external; function setPriceTolerance(address, uint256) external; } interface RegistryLike { function add(address) external; function xlip(bytes32) external view returns (address); } // https://github.com/makerdao/dss-chain-log interface ChainlogLike { function setVersion(string calldata) external; function setIPFS(string calldata) external; function setSha256sum(string calldata) external; function getAddress(bytes32) external view returns (address); function setAddress(bytes32, address) external; function removeAddress(bytes32) external; } interface IAMLike { function ilks(bytes32) external view returns (uint256,uint256,uint48,uint48,uint48); function setIlk(bytes32,uint256,uint256,uint256) external; function remIlk(bytes32) external; function exec(bytes32) external returns (uint256); } interface LerpFactoryLike { function newLerp(bytes32 name_, address target_, bytes32 what_, uint256 startTime_, uint256 start_, uint256 end_, uint256 duration_) external returns (address); function newIlkLerp(bytes32 name_, address target_, bytes32 ilk_, bytes32 what_, uint256 startTime_, uint256 start_, uint256 end_, uint256 duration_) external returns (address); } interface LerpLike { function tick() external returns (uint256); } interface RwaOracleLike { function bump(bytes32 ilk, uint256 val) external; } library DssExecLib { /* WARNING The following library code acts as an interface to the actual DssExecLib library, which can be found in its own deployed contract. Only trust the actual library's implementation. */ address constant public LOG = 0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F; uint256 constant internal WAD = 10 ** 18; uint256 constant internal RAY = 10 ** 27; uint256 constant internal RAD = 10 ** 45; uint256 constant internal THOUSAND = 10 ** 3; uint256 constant internal MILLION = 10 ** 6; uint256 constant internal BPS_ONE_PCT = 100; uint256 constant internal BPS_ONE_HUNDRED_PCT = 100 * BPS_ONE_PCT; uint256 constant internal RATES_ONE_HUNDRED_PCT = 1000000021979553151239153027; function dai() public view returns (address) { return getChangelogAddress("MCD_DAI"); } function mkr() public view returns (address) { return getChangelogAddress("MCD_GOV"); } function vat() public view returns (address) { return getChangelogAddress("MCD_VAT"); } function jug() public view returns (address) { return getChangelogAddress("MCD_JUG"); } function pot() public view returns (address) { return getChangelogAddress("MCD_POT"); } function vow() public view returns (address) { return getChangelogAddress("MCD_VOW"); } function end() public view returns (address) { return getChangelogAddress("MCD_END"); } function reg() public view returns (address) { return getChangelogAddress("ILK_REGISTRY"); } function daiJoin() public view returns (address) { return getChangelogAddress("MCD_JOIN_DAI"); } function lerpFab() public view returns (address) { return getChangelogAddress("LERP_FAB"); } function clip(bytes32 _ilk) public view returns (address _clip) {} function flip(bytes32 _ilk) public view returns (address _flip) {} function calc(bytes32 _ilk) public view returns (address _calc) {} function getChangelogAddress(bytes32 _key) public view returns (address) {} function setChangelogAddress(bytes32 _key, address _val) public {} function setChangelogVersion(string memory _version) public {} function setAuthority(address _base, address _authority) public {} function canCast(uint40 _ts, bool _officeHours) public pure returns (bool) {} function nextCastTime(uint40 _eta, uint40 _ts, bool _officeHours) public pure returns (uint256 castTime) {} function setValue(address _base, bytes32 _what, uint256 _amt) public {} function setValue(address _base, bytes32 _ilk, bytes32 _what, uint256 _amt) public {} function setDSR(uint256 _rate, bool _doDrip) public {} function setIlkStabilityFee(bytes32 _ilk, uint256 _rate, bool _doDrip) public {} function sendPaymentFromSurplusBuffer(address _target, uint256 _amount) public {} function linearInterpolation(bytes32 _name, address _target, bytes32 _ilk, bytes32 _what, uint256 _startTime, uint256 _start, uint256 _end, uint256 _duration) public returns (address) {} } ////// lib/dss-exec-lib/src/DssAction.sol // // DssAction.sol -- DSS Executive Spell Actions // // Copyright (C) 2020-2022 Dai Foundation // // 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.8.16; */ /* import { DssExecLib } from "./DssExecLib.sol"; */ /* import { CollateralOpts } from "./CollateralOpts.sol"; */ interface OracleLike_1 { function src() external view returns (address); } abstract contract DssAction { using DssExecLib for *; // Modifier used to limit execution time when office hours is enabled modifier limited { require(DssExecLib.canCast(uint40(block.timestamp), officeHours()), "Outside office hours"); _; } // Office Hours defaults to true by default. // To disable office hours, override this function and // return false in the inherited action. function officeHours() public view virtual returns (bool) { return true; } // DssExec calls execute. We limit this function subject to officeHours modifier. function execute() external limited { actions(); } // DssAction developer must override `actions()` and place all actions to be called inside. // The DssExec function will call this subject to the officeHours limiter // By keeping this function public we allow simulations of `execute()` on the actions outside of the cast time. function actions() public virtual; // Provides a descriptive tag for bot consumption // This should be modified weekly to provide a summary of the actions // Hash: seth keccak -- "$(wget https://<executive-vote-canonical-post> -q -O - 2>/dev/null)" function description() external view virtual returns (string memory); // Returns the next available cast time function nextCastTime(uint256 eta) external view returns (uint256 castTime) { require(eta <= type(uint40).max); castTime = DssExecLib.nextCastTime(uint40(eta), uint40(block.timestamp), officeHours()); } } ////// lib/dss-exec-lib/src/DssExec.sol // // DssExec.sol -- MakerDAO Executive Spell Template // // Copyright (C) 2020-2022 Dai Foundation // // 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.8.16; */ interface PauseAbstract { function delay() external view returns (uint256); function plot(address, bytes32, bytes calldata, uint256) external; function exec(address, bytes32, bytes calldata, uint256) external returns (bytes memory); } interface Changelog { function getAddress(bytes32) external view returns (address); } interface SpellAction { function officeHours() external view returns (bool); function description() external view returns (string memory); function nextCastTime(uint256) external view returns (uint256); } contract DssExec { Changelog constant public log = Changelog(0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F); uint256 public eta; bytes public sig; bool public done; bytes32 immutable public tag; address immutable public action; uint256 immutable public expiration; PauseAbstract immutable public pause; // Provides a descriptive tag for bot consumption // This should be modified weekly to provide a summary of the actions // Hash: seth keccak -- "$(wget https://<executive-vote-canonical-post> -q -O - 2>/dev/null)" function description() external view returns (string memory) { return SpellAction(action).description(); } function officeHours() external view returns (bool) { return SpellAction(action).officeHours(); } function nextCastTime() external view returns (uint256 castTime) { return SpellAction(action).nextCastTime(eta); } // @param _description A string description of the spell // @param _expiration The timestamp this spell will expire. (Ex. block.timestamp + 30 days) // @param _spellAction The address of the spell action constructor(uint256 _expiration, address _spellAction) { pause = PauseAbstract(log.getAddress("MCD_PAUSE")); expiration = _expiration; action = _spellAction; sig = abi.encodeWithSignature("execute()"); bytes32 _tag; // Required for assembly access address _action = _spellAction; // Required for assembly access assembly { _tag := extcodehash(_action) } tag = _tag; } function schedule() public { require(block.timestamp <= expiration, "This contract has expired"); require(eta == 0, "This spell has already been scheduled"); eta = block.timestamp + PauseAbstract(pause).delay(); pause.plot(action, tag, sig, eta); } function cast() public { require(!done, "spell-already-cast"); done = true; pause.exec(action, tag, sig, eta); } } ////// lib/dss-test/lib/dss-interfaces/src/ERC/GemAbstract.sol /* pragma solidity >=0.5.12; */ // A base ERC-20 abstract class // https://eips.ethereum.org/EIPS/eip-20 interface GemAbstract { function totalSupply() external view returns (uint256); function balanceOf(address) external view returns (uint256); function allowance(address, address) external view returns (uint256); function approve(address, uint256) external returns (bool); function transfer(address, uint256) external returns (bool); function transferFrom(address, address, uint256) external returns (bool); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } ////// src/DssSpell.sol // SPDX-FileCopyrightText: © 2020 Dai Foundation <www.daifoundation.org> // // 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.8.16; */ /* import "dss-exec-lib/DssExec.sol"; */ /* import "dss-exec-lib/DssAction.sol"; */ /* import { GemAbstract } from "dss-interfaces/ERC/GemAbstract.sol"; */ interface DssCronSequencerLike_1 { function addJob(address job) external; function removeJob(address job) external; } interface ProxyLike_1 { function exec(address target, bytes calldata args) external payable returns (bytes memory out); } contract DssSpellAction is DssAction { // Provides a descriptive tag for bot consumption // This should be modified weekly to provide a summary of the actions // Hash: cast keccak -- "$(wget 'https://raw.githubusercontent.com/makerdao/community/ca9a6eb8d41ddc11614b32d699f5b220434e58e4/governance/votes/Executive%20Vote%20-%20May%2016%2C%202024.md' -q -O - 2>/dev/null)" string public constant override description = "2024-05-16 MakerDAO Executive Spell | Hash: 0xcdf22bbf7c42be8c09b48ce49b0365b8f061e4d674387b176d9eb9d563e706b2"; // Set office hours according to the summary function officeHours() public pure override returns (bool) { return false; } // ---------- Rates ---------- // 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/QmVp4mhhbwWGTfbh2BzwQB9eiBrQBKiqcPRZCaAxNUaar6 // // uint256 internal constant X_PCT_1000000003022265980097387650RATE = ; uint256 internal constant EIGHT_PCT_RATE = 1000000002440418608258400030; uint256 internal constant EIGHT_PT_TWO_FIVE_PCT_RATE = 1000000002513736079215619839; uint256 internal constant EIGHT_PT_SEVEN_FIVE_PCT_RATE = 1000000002659864411854984565; uint256 internal constant NINE_PCT_RATE = 1000000002732676825177582095; uint256 internal constant NINE_PT_TWO_FIVE_PCT_RATE = 1000000002805322428706865331; uint256 internal constant NINE_PT_FIVE_PCT_RATE = 1000000002877801985002875644; uint256 internal constant NINE_PT_SEVEN_FIVE_PCT_RATE = 1000000002950116251408586949; uint256 internal constant TEN_PT_TWO_FIVE_PCT_RATE = 1000000003094251918120023627; // ---------- Contract addresses ---------- GemAbstract internal immutable MKR = GemAbstract(DssExecLib.mkr()); // ---------- Dss-Cron Update ---------- address internal immutable CRON_SEQUENCER = DssExecLib.getChangelogAddress("CRON_SEQUENCER"); address internal immutable CRON_D3M_JOB = DssExecLib.getChangelogAddress("CRON_D3M_JOB"); address internal constant CRON_D3M_JOB_NEW = 0x2Ea4aDE144485895B923466B4521F5ebC03a0AeF; // ---------- Launch Funding Transfers ---------- address internal constant LAUNCH_PROJECT_FUNDING = 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F; // ---------- Bug Bounty Payouts ---------- address internal constant IMMUNEFI_COMISSION = 0x7119f398b6C06095c6E8964C1f58e7C1BAa79E18; address internal constant IMMUNEFI_USER_PAYOUT_2024_05_16 = 0xa24EC79bdF03bB325F36878573B13AedFEd0717f; // ---------- Whistle-blower Bounty Payout ---------- address internal constant COMPACTER = 0xbbd4bC3FE72691663c6ffE984Bcdb6C6E6b3a8Dd; // ---------- Delegate Compensation ---------- address internal constant BLUE = 0xb6C09680D822F162449cdFB8248a7D3FC26Ec9Bf; address internal constant CLOAKY = 0x869b6d5d8FA7f4FFdaCA4D23FFE0735c5eD1F818; address internal constant BONAPUBLICA = 0x167c1a762B08D7e78dbF8f24e5C3f1Ab415021D3; address internal constant TRUENAME = 0x612F7924c367575a0Edf21333D96b15F1B345A5d; address internal constant JULIACHANG = 0x252abAEe2F4f4b8D39E5F12b163eDFb7fac7AED7; address internal constant VIGILANT = 0x2474937cB55500601BCCE9f4cb0A0A72Dc226F61; address internal constant PIPKIN = 0x0E661eFE390aE39f90a58b04CF891044e56DEDB7; address internal constant JAG = 0x58D1ec57E4294E4fe650D1CB12b96AE34349556f; address internal constant BYTERON = 0xc2982e72D060cab2387Dba96b846acb8c96EfF66; address internal constant UPMAKER = 0xbB819DF169670DC71A16F58F55956FE642cc6BcD; // ---------- Spark Spell ---------- // Spark Proxy: https://github.com/marsfoundation/sparklend-deployments/blob/bba4c57d54deb6a14490b897c12a949aa035a99b/script/output/1/primary-sce-latest.json#L2 address internal constant SPARK_PROXY = 0x3300f198988e4C9C63F75dF86De36421f06af8c4; address internal constant SPARK_SPELL = 0x901E4450f01ae1A2615E384b9104888Cb9Cb02FF; function actions() public override { // ---------- Dss-Cron Update ---------- // Forum: https://forum.makerdao.com/t/executive-inclusion-dss-cron-update/24269 // Update D3MJob in the sequencer (0x238b4E35dAed6100C6162fAE4510261f88996EC9): // Note: This action is done in the following two steps // sequencer.removeJob(0x1Bb799509b0B039345f910dfFb71eEfAc7022323); DssCronSequencerLike_1(CRON_SEQUENCER).removeJob(CRON_D3M_JOB); // sequencer.addJob(0x2Ea4aDE144485895B923466B4521F5ebC03a0AeF); DssCronSequencerLike_1(CRON_SEQUENCER).addJob(CRON_D3M_JOB_NEW); // Note: update CRON_D3M_JOB address in the chainlog DssExecLib.setChangelogAddress("CRON_D3M_JOB", CRON_D3M_JOB_NEW); // ---------- Launch Funding Transfers ---------- // Forum: https://forum.makerdao.com/t/utilization-of-the-launch-project-under-the-accessibility-scope/21468/16 // MIP: https://mips.makerdao.com/mips/details/MIP108#9-1-launch-project-budget // Launch Project - 5358007 DAI - 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F DssExecLib.sendPaymentFromSurplusBuffer(LAUNCH_PROJECT_FUNDING, 5_358_007); // Launch Project - 1969.17 MKR - 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F MKR.transfer(LAUNCH_PROJECT_FUNDING, 1969.17 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // ---------- Bug Bounty Payouts ---------- // Forum: https://forum.makerdao.com/t/bounty-payout-request-for-immunefi-bug-29806/24240 // Immunefi Bounty - 5000 DAI - 0x7119f398b6C06095c6E8964C1f58e7C1BAa79E18 DssExecLib.sendPaymentFromSurplusBuffer(IMMUNEFI_COMISSION, 5_000); // Bug Bounty - 50000 DAI - 0xa24EC79bdF03bB325F36878573B13AedFEd0717f DssExecLib.sendPaymentFromSurplusBuffer(IMMUNEFI_USER_PAYOUT_2024_05_16, 50_000); // ---------- Whistle-blower Bounty Payout ---------- // Forum: https://forum.makerdao.com/t/ad-derecognition-due-to-operational-security-breach-april-5-2024/24043/5 // MIP: https://mips.makerdao.com/mips/details/MIP101#2-6-3-4-2 // Compacter (Whistleblower) - 20.84 MKR - 0xbbd4bC3FE72691663c6ffE984Bcdb6C6E6b3a8Dd MKR.transfer(COMPACTER, 20.84 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // ---------- Stability Scope Parameter Changes ---------- // Forum: https://forum.makerdao.com/t/stability-scope-parameter-changes-13-under-sta-article-3-3/24250 // ETH-A: Decrease the Stability Fee by 2 percentage points from 10.25% to 8.25% DssExecLib.setIlkStabilityFee("ETH-A", EIGHT_PT_TWO_FIVE_PCT_RATE, /* doDrip = */ true); // ETH-B: Decrease the Stability Fee by 2 percentage points from 10.75% to 8.75% DssExecLib.setIlkStabilityFee("ETH-B", EIGHT_PT_SEVEN_FIVE_PCT_RATE, /* doDrip = */ true); // ETH-C: Decrease the Stability Fee by 2 percentage points from 10.00% to 8.00% DssExecLib.setIlkStabilityFee("ETH-C", EIGHT_PCT_RATE, /* doDrip = */ true); // WSTETH-A: Decrease the Stability Fee by 2 percentage points from 11.25% to 9.25% DssExecLib.setIlkStabilityFee("WSTETH-A", NINE_PT_TWO_FIVE_PCT_RATE, /* doDrip = */ true); // WSTETH-B: Decrease the Stability Fee by 2 percentage points from 11.00% to 9.00% DssExecLib.setIlkStabilityFee("WSTETH-B", NINE_PCT_RATE, /* doDrip = */ true); // WBTC-A: Decrease the Stability Fee by 2 percentage points from 11.75% to 9.75% DssExecLib.setIlkStabilityFee("WBTC-A", NINE_PT_SEVEN_FIVE_PCT_RATE, /* doDrip = */ true); // WBTC-B: Decrease the Stability Fee by 2 percentage points from 12.25% to 10.25% DssExecLib.setIlkStabilityFee("WBTC-B", TEN_PT_TWO_FIVE_PCT_RATE, /* doDrip = */ true); // WBTC-C: Decrease the Stability Fee by 2 percentage points from 11.50% to 9.50% DssExecLib.setIlkStabilityFee("WBTC-C", NINE_PT_FIVE_PCT_RATE, /* doDrip = */ true); // DSR: Decrease the Dai Savings Rate by 2 percentage points from 10.00% to 8.00% DssExecLib.setDSR(EIGHT_PCT_RATE, /* doDrip = */ true); // ---------- Delegate Compensation ---------- // Forum: https://forum.makerdao.com/t/april-2024-aligned-delegate-compensation/24272 // MIP: https://mips.makerdao.com/mips/details/MIP101#2-6-3-aligned-delegate-income-and-participation-requirements // BLUE - 41.67 MKR - 0xb6C09680D822F162449cdFB8248a7D3FC26Ec9Bf MKR.transfer(BLUE, 41.67 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // Cloaky - 41.67 MKR - 0x869b6d5d8FA7f4FFdaCA4D23FFE0735c5eD1F818 MKR.transfer(CLOAKY, 41.67 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // BONAPUBLICA - 28.23 MKR - 0x167c1a762B08D7e78dbF8f24e5C3f1Ab415021D3 MKR.transfer(BONAPUBLICA, 28.23 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // TRUE NAME - 27.52 MKR - 0x612F7924c367575a0Edf21333D96b15F1B345A5d MKR.transfer(TRUENAME, 27.52 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // JuliaChang - 24.20 MKR - 0x252abAEe2F4f4b8D39E5F12b163eDFb7fac7AED7 MKR.transfer(JULIACHANG, 24.20 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // vigilant - 13.89 MKR - 0x2474937cB55500601BCCE9f4cb0A0A72Dc226F61 MKR.transfer(VIGILANT, 13.89 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // Pipkin - 13.44 MKR - 0x0E661eFE390aE39f90a58b04CF891044e56DEDB7 MKR.transfer(PIPKIN, 13.44 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // JAG - 7.17 MKR - 0x58D1ec57E4294E4fe650D1CB12b96AE34349556f MKR.transfer(JAG, 7.17 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // Byteron - 6.72 MKR - 0xc2982e72D060cab2387Dba96b846acb8c96EfF66 MKR.transfer(BYTERON, 6.72 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // UPMaker - 3.58 MKR - 0xbB819DF169670DC71A16F58F55956FE642cc6BcD MKR.transfer(UPMAKER, 3.58 ether); // NOTE: 'ether' is a keyword helper, only MKR is transferred here // ---------- Spark Spell ---------- // Forum: https://forum.makerdao.com/t/stability-scope-parameter-changes-13-under-sta-article-3-3/24250 // Trigger Spark Proxy Spell at 0x901E4450f01ae1A2615E384b9104888Cb9Cb02FF ProxyLike_1(SPARK_PROXY).exec(SPARK_SPELL, abi.encodeWithSignature("execute()")); // Note: bump chainlog version due to the updated CRON_D3M_JOB address DssExecLib.setChangelogVersion("1.17.4"); } } contract DssSpell is DssExec { constructor() DssExec(block.timestamp + 30 days, address(new DssSpellAction())) {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"log","outputs":[{"internalType":"contract Changelog","name":"","type":"address"}],"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 PauseAbstract","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
6101006040523480156200001257600080fd5b5062278d004262000024919062000247565b604051620000329062000200565b604051809103906000f0801580156200004f573d6000803e3d6000fd5b5073da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b81526004016200009d90620002a8565b602060405180830381865afa158015620000bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e191906200032d565b73ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508160c081815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506040516024016040516020818303038152906040527f61461954000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060019081620001e39190620005cf565b50600080829050803f9150816080818152505050505050620006b6565b612764806200194683390190565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000254826200020e565b915062000261836200020e565b92508282019050808211156200027c576200027b62000218565b5b92915050565b7f4d43445f50415553450000000000000000000000000000000000000000000000815250565b6000602082019050620002be6000830162000282565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002f582620002c8565b9050919050565b6200030781620002e8565b81146200031357600080fd5b50565b6000815190506200032781620002fc565b92915050565b600060208284031215620003465762000345620002c3565b5b6000620003568482850162000316565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003e157607f821691505b602082108103620003f757620003f662000399565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000422565b6200046d868362000422565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620004b0620004aa620004a4846200020e565b62000485565b6200020e565b9050919050565b6000819050919050565b620004cc836200048f565b620004e4620004db82620004b7565b8484546200042f565b825550505050565b600090565b620004fb620004ec565b62000508818484620004c1565b505050565b5b81811015620005305762000524600082620004f1565b6001810190506200050e565b5050565b601f8211156200057f576200054981620003fd565b620005548462000412565b8101602085101562000564578190505b6200057c620005738562000412565b8301826200050d565b50505b505050565b600082821c905092915050565b6000620005a46000198460080262000584565b1980831691505092915050565b6000620005bf838362000591565b9150826002028217905092915050565b620005da826200035f565b67ffffffffffffffff811115620005f657620005f56200036a565b5b620006028254620003c8565b6200060f82828562000534565b600060209050601f83116001811462000647576000841562000632578287015190505b6200063e8582620005b1565b865550620006ae565b601f1984166200065786620003fd565b60005b8281101562000681578489015182556001820191506020850194506020810190506200065a565b86831015620006a157848901516200069d601f89168262000591565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e0516112096200073d6000396000818161047601528181610505015281816106ac015261074c0152600081816102e501526106050152600081816102c101528181610347015281816103dd0152818161054101528181610788015261082a0152600081816103210152818161056201526107a901526112096000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c80637284e4161161008c578063ae8421e111610066578063ae8421e1146101cd578063b0604a26146101eb578063f7992d85146101f5578063fe7d47bb14610213576100ce565b80637284e416146101875780638456cb59146101a557806396d373e5146101c3576100ce565b8062a7029b146100d35780630a7a1c4d146100f15780634665096d1461010f57806351973ec91461012d57806351f910661461014b5780636e832f0714610169575b600080fd5b6100db610231565b6040516100e89190610959565b60405180910390f35b6100f96102bf565b60405161010691906109bc565b60405180910390f35b6101176102e3565b60405161012491906109f0565b60405180910390f35b610135610307565b6040516101429190610a6a565b60405180910390f35b61015361031f565b6040516101609190610a9e565b60405180910390f35b610171610343565b60405161017e9190610ad4565b60405180910390f35b61018f6103d9565b60405161019c9190610b44565b60405180910390f35b6101ad610474565b6040516101ba9190610b87565b60405180910390f35b6101cb610498565b005b6101d56105f0565b6040516101e29190610ad4565b60405180910390f35b6101f3610603565b005b6101fd610820565b60405161020a91906109f0565b60405180910390f35b61021b610826565b60405161022891906109f0565b60405180910390f35b6001805461023e90610bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461026a90610bd1565b80156102b75780601f1061028c576101008083540402835291602001916102b7565b820191906000526020600020905b81548152906001019060200180831161029a57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e832f076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190610c42565b905090565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa158015610446573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061046f9190610d95565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600260009054906101000a900460ff16156104e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df90610e2a565b60405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663168ccd677f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060016000546040518563ffffffff1660e01b81526004016105a59493929190610ee3565b6000604051808303816000875af11580156105c4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105ed9190610fd0565b50565b600260009054906101000a900460ff1681565b7f0000000000000000000000000000000000000000000000000000000000000000421115610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d90611065565b60405180910390fd5b60008054146106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a1906110f7565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611143565b42610744919061119f565b6000819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166346d2fbbb7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060016000546040518563ffffffff1660e01b81526004016107ec9493929190610ee3565b600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b50505050565b60005481565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bf0fbcec6000546040518263ffffffff1660e01b815260040161088391906109f0565b602060405180830381865afa1580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611143565b905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156109035780820151818401526020810190506108e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061092b826108c9565b61093581856108d4565b93506109458185602086016108e5565b61094e8161090f565b840191505092915050565b600060208201905081810360008301526109738184610920565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109a68261097b565b9050919050565b6109b68161099b565b82525050565b60006020820190506109d160008301846109ad565b92915050565b6000819050919050565b6109ea816109d7565b82525050565b6000602082019050610a0560008301846109e1565b92915050565b6000819050919050565b6000610a30610a2b610a268461097b565b610a0b565b61097b565b9050919050565b6000610a4282610a15565b9050919050565b6000610a5482610a37565b9050919050565b610a6481610a49565b82525050565b6000602082019050610a7f6000830184610a5b565b92915050565b6000819050919050565b610a9881610a85565b82525050565b6000602082019050610ab36000830184610a8f565b92915050565b60008115159050919050565b610ace81610ab9565b82525050565b6000602082019050610ae96000830184610ac5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610b1682610aef565b610b208185610afa565b9350610b308185602086016108e5565b610b398161090f565b840191505092915050565b60006020820190508181036000830152610b5e8184610b0b565b905092915050565b6000610b7182610a37565b9050919050565b610b8181610b66565b82525050565b6000602082019050610b9c6000830184610b78565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610be957607f821691505b602082108103610bfc57610bfb610ba2565b5b50919050565b6000604051905090565b600080fd5b600080fd5b610c1f81610ab9565b8114610c2a57600080fd5b50565b600081519050610c3c81610c16565b92915050565b600060208284031215610c5857610c57610c0c565b5b6000610c6684828501610c2d565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cb18261090f565b810181811067ffffffffffffffff82111715610cd057610ccf610c79565b5b80604052505050565b6000610ce3610c02565b9050610cef8282610ca8565b919050565b600067ffffffffffffffff821115610d0f57610d0e610c79565b5b610d188261090f565b9050602081019050919050565b6000610d38610d3384610cf4565b610cd9565b905082815260208101848484011115610d5457610d53610c74565b5b610d5f8482856108e5565b509392505050565b600082601f830112610d7c57610d7b610c6f565b5b8151610d8c848260208601610d25565b91505092915050565b600060208284031215610dab57610daa610c0c565b5b600082015167ffffffffffffffff811115610dc957610dc8610c11565b5b610dd584828501610d67565b91505092915050565b7f7370656c6c2d616c72656164792d636173740000000000000000000000000000600082015250565b6000610e14601283610afa565b9150610e1f82610dde565b602082019050919050565b60006020820190508181036000830152610e4381610e07565b9050919050565b60008190508160005260206000209050919050565b60008154610e6c81610bd1565b610e7681866108d4565b94506001821660008114610e915760018114610ea757610eda565b60ff198316865281151560200286019350610eda565b610eb085610e4a565b60005b83811015610ed257815481890152600182019150602081019050610eb3565b808801955050505b50505092915050565b6000608082019050610ef860008301876109ad565b610f056020830186610a8f565b8181036040830152610f178185610e5f565b9050610f2660608301846109e1565b95945050505050565b600067ffffffffffffffff821115610f4a57610f49610c79565b5b610f538261090f565b9050602081019050919050565b6000610f73610f6e84610f2f565b610cd9565b905082815260208101848484011115610f8f57610f8e610c74565b5b610f9a8482856108e5565b509392505050565b600082601f830112610fb757610fb6610c6f565b5b8151610fc7848260208601610f60565b91505092915050565b600060208284031215610fe657610fe5610c0c565b5b600082015167ffffffffffffffff81111561100457611003610c11565b5b61101084828501610fa2565b91505092915050565b7f5468697320636f6e747261637420686173206578706972656400000000000000600082015250565b600061104f601983610afa565b915061105a82611019565b602082019050919050565b6000602082019050818103600083015261107e81611042565b9050919050565b7f54686973207370656c6c2068617320616c7265616479206265656e207363686560008201527f64756c6564000000000000000000000000000000000000000000000000000000602082015250565b60006110e1602583610afa565b91506110ec82611085565b604082019050919050565b60006020820190508181036000830152611110816110d4565b9050919050565b611120816109d7565b811461112b57600080fd5b50565b60008151905061113d81611117565b92915050565b60006020828403121561115957611158610c0c565b5b60006111678482850161112e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111aa826109d7565b91506111b5836109d7565b92508282019050808211156111cd576111cc611170565b5b9291505056fea2646970667358221220db335a51e36439388a48fc29e4d2c4d82a70c0d830bd5e6df24a13a4fff3367a64736f6c6343000810003360e0604052738de6ddbcd5053d32292aaa0d2105a32d108484a6637e992cb86040518163ffffffff1660e01b8152600401602060405180830381865af41580156200004e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200007491906200027e565b73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b8152600401620000dd90620002d6565b602060405180830381865af4158015620000fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012191906200027e565b73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b81526004016200018a9062000317565b602060405180830381865af4158015620001a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ce91906200027e565b73ffffffffffffffffffffffffffffffffffffffff1660c09073ffffffffffffffffffffffffffffffffffffffff168152503480156200020d57600080fd5b5062000332565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002468262000219565b9050919050565b620002588162000239565b81146200026457600080fd5b50565b60008151905062000278816200024d565b92915050565b60006020828403121562000297576200029662000214565b5b6000620002a78482850162000267565b91505092915050565b7f43524f4e5f53455155454e434552000000000000000000000000000000000000815250565b6000602082019050620002ec60008301620002b0565b919050565b7f43524f4e5f44334d5f4a4f420000000000000000000000000000000000000000815250565b60006020820190506200032d60008301620002f1565b919050565b60805160a05160c0516123ae620003b660003960006102a501526000818161026901526103140152600081816104ae0152818161066801528181610b4a01528181610c0601528181610cc201528181610d7e01528181610e3a01528181610ef601528181610fb10152818161106c0152818161112701526111e201526123ae6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063614619541461005c5780636e832f07146100665780637284e41614610084578063bf0fbcec146100a2578063f99e36bc146100d2575b600080fd5b6100646100dc565b005b61006e6101a6565b60405161007b919061144b565b60405180910390f35b61008c6101ab565b60405161009991906114f6565b60405180910390f35b6100bc60048036038101906100b79190611562565b6101c7565b6040516100c9919061159e565b60405180910390f35b6100da610267565b005b738de6ddbcd5053d32292aaa0d2105a32d108484a66335329d4c426100ff6101a6565b6040518363ffffffff1660e01b815260040161011c9291906115e8565b602060405180830381865af4158015610139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015d919061163d565b61019c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610193906116b6565b60405180910390fd5b6101a4610267565b565b600090565b6040518060a00160405280606e815260200161230b606e913981565b600064ffffffffff80168211156101dd57600080fd5b738de6ddbcd5053d32292aaa0d2105a32d108484a663d255745683426102016101a6565b6040518463ffffffff1660e01b815260040161021f939291906116d6565b602060405180830381865af415801561023c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102609190611722565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663807119897f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102e09190611790565b600060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c5198abc732ea4ade144485895b923466b4521f5ebc03a0aef6040518263ffffffff1660e01b815260040161037f9190611790565b600060405180830381600087803b15801561039957600080fd5b505af11580156103ad573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a66319d900a1732ea4ade144485895b923466b4521f5ebc03a0aef6040518263ffffffff1660e01b81526004016103fc91906117e0565b60006040518083038186803b15801561041457600080fd5b505af4158015610428573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663b1698f41733c5142f28567e6a0f172fd0baaf1f2847f49d02f6251c1b76040518363ffffffff1660e01b815260040161047c92919061184c565b60006040518083038186803b15801561049457600080fd5b505af41580156104a8573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb733c5142f28567e6a0f172fd0baaf1f2847f49d02f686abfb931e3e3f500006040518363ffffffff1660e01b81526004016105249291906118b0565b6020604051808303816000875af1158015610543573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610567919061163d565b50738de6ddbcd5053d32292aaa0d2105a32d108484a663b1698f41737119f398b6c06095c6e8964c1f58e7c1baa79e186113886040518363ffffffff1660e01b81526004016105b7929190611914565b60006040518083038186803b1580156105cf57600080fd5b505af41580156105e3573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663b1698f4173a24ec79bdf03bb325f36878573b13aedfed0717f61c3506040518363ffffffff1660e01b8152600401610636929190611978565b60006040518083038186803b15801561064e57600080fd5b505af4158015610662573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73bbd4bc3fe72691663c6ffe984bcdb6c6e6b3a8dd680121368d95bf2400006040518363ffffffff1660e01b81526004016106de9291906119dc565b6020604051808303816000875af11580156106fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610721919061163d565b50738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc2b315e234baeeff60016040518363ffffffff1660e01b8152600401610768929190611a3a565b60006040518083038186803b15801561078057600080fd5b505af4158015610794573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc4ba3cd3f351d57560016040518363ffffffff1660e01b81526004016107de929190611a95565b60006040518083038186803b1580156107f657600080fd5b505af415801561080a573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc1ae9c08407ebf1e60016040518363ffffffff1660e01b8152600401610854929190611af0565b60006040518083038186803b15801561086c57600080fd5b505af4158015610880573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc6bf021fa38240b360016040518363ffffffff1660e01b81526004016108ca929190611b4b565b60006040518083038186803b1580156108e257600080fd5b505af41580156108f6573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc5bceb5502a6ea0f60016040518363ffffffff1660e01b8152600401610940929190611ba6565b60006040518083038186803b15801561095857600080fd5b505af415801561096c573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc8c16b569350d8c560016040518363ffffffff1660e01b81526004016109b6929190611c01565b60006040518083038186803b1580156109ce57600080fd5b505af41580156109e2573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3ccac17df6a11d764b60016040518363ffffffff1660e01b8152600401610a2c929190611c5c565b60006040518083038186803b158015610a4457600080fd5b505af4158015610a58573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663e40898e06b033b2e3cc7c081e56202aafc60016040518363ffffffff1660e01b8152600401610aa2929190611cb7565b60006040518083038186803b158015610aba57600080fd5b505af4158015610ace573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663437757b96b033b2e3cc1ae9c08407ebf1e60016040518363ffffffff1660e01b8152600401610b18929190611cec565b60006040518083038186803b158015610b3057600080fd5b505af4158015610b44573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73b6c09680d822f162449cdfb8248a7d3fc26ec9bf6802424994390e8700006040518363ffffffff1660e01b8152600401610bc0929190611d50565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c03919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73869b6d5d8fa7f4ffdaca4d23ffe0735c5ed1f8186802424994390e8700006040518363ffffffff1660e01b8152600401610c7c929190611d50565b6020604051808303816000875af1158015610c9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbf919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73167c1a762b08d7e78dbf8f24e5c3f1ab415021d3680187c51b6e594700006040518363ffffffff1660e01b8152600401610d38929190611db4565b6020604051808303816000875af1158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7b919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73612f7924c367575a0edf21333d96b15f1b345a5d68017deaae315ac000006040518363ffffffff1660e01b8152600401610df4929190611e18565b6020604051808303816000875af1158015610e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e37919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73252abaee2f4f4b8d39e5f12b163edfb7fac7aed768014fd7abc86c7400006040518363ffffffff1660e01b8152600401610eb0929190611e7c565b6020604051808303816000875af1158015610ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef3919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb732474937cb55500601bcce9f4cb0a0a72dc226f6167c0c331685a2d00006040518363ffffffff1660e01b8152600401610f6b929190611ee0565b6020604051808303816000875af1158015610f8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fae919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb730e661efe390ae39f90a58b04cf891044e56dedb767ba8478cab54000006040518363ffffffff1660e01b8152600401611026929190611f44565b6020604051808303816000875af1158015611045573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611069919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7358d1ec57e4294e4fe650d1cb12b96ae34349556f676380f502ff8d00006040518363ffffffff1660e01b81526004016110e1929190611fa8565b6020604051808303816000875af1158015611100573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611124919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73c2982e72d060cab2387dba96b846acb8c96eff66675d423c655aa000006040518363ffffffff1660e01b815260040161119c92919061200c565b6020604051808303816000875af11580156111bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111df919061163d565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb73bb819df169670dc71a16f58f55956fe642cc6bcd6731aeb70847e600006040518363ffffffff1660e01b8152600401611257929190612070565b6020604051808303816000875af1158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a919061163d565b50733300f198988e4c9c63f75df86de36421f06af8c473ffffffffffffffffffffffffffffffffffffffff1663be6002c273901e4450f01ae1a2615e384b9104888cb9cb02ff6040516024016040516020818303038152906040527f61461954000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b81526004016113809291906120ee565b6000604051808303816000875af115801561139f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906113c89190612244565b50738de6ddbcd5053d32292aaa0d2105a32d108484a6635f3a7dd76040518163ffffffff1660e01b81526004016113fe906122ea565b60006040518083038186803b15801561141657600080fd5b505af415801561142a573d6000803e3d6000fd5b50505050565b60008115159050919050565b61144581611430565b82525050565b6000602082019050611460600083018461143c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114a0578082015181840152602081019050611485565b60008484015250505050565b6000601f19601f8301169050919050565b60006114c882611466565b6114d28185611471565b93506114e2818560208601611482565b6114eb816114ac565b840191505092915050565b6000602082019050818103600083015261151081846114bd565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61153f8161152c565b811461154a57600080fd5b50565b60008135905061155c81611536565b92915050565b60006020828403121561157857611577611522565b5b60006115868482850161154d565b91505092915050565b6115988161152c565b82525050565b60006020820190506115b3600083018461158f565b92915050565b600064ffffffffff82169050919050565b6115d3816115b9565b82525050565b6115e281611430565b82525050565b60006040820190506115fd60008301856115ca565b61160a60208301846115d9565b9392505050565b61161a81611430565b811461162557600080fd5b50565b60008151905061163781611611565b92915050565b60006020828403121561165357611652611522565b5b600061166184828501611628565b91505092915050565b7f4f757473696465206f666669636520686f757273000000000000000000000000600082015250565b60006116a0601483611471565b91506116ab8261166a565b602082019050919050565b600060208201905081810360008301526116cf81611693565b9050919050565b60006060820190506116eb60008301866115ca565b6116f860208301856115ca565b61170560408301846115d9565b949350505050565b60008151905061171c81611536565b92915050565b60006020828403121561173857611737611522565b5b60006117468482850161170d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061177a8261174f565b9050919050565b61178a8161176f565b82525050565b60006020820190506117a56000830184611781565b92915050565b7f43524f4e5f44334d5f4a4f420000000000000000000000000000000000000000815250565b6117da8161176f565b82525050565b60006040820190506117f4600083016117ab565b61180160208301846117d1565b92915050565b6000819050919050565b6000819050919050565b600061183661183161182c84611807565b611811565b61152c565b9050919050565b6118468161181b565b82525050565b600060408201905061186160008301856117d1565b61186e602083018461183d565b9392505050565b6000819050919050565b600061189a61189561189084611875565b611811565b61152c565b9050919050565b6118aa8161187f565b82525050565b60006040820190506118c56000830185611781565b6118d260208301846118a1565b9392505050565b6000819050919050565b60006118fe6118f96118f4846118d9565b611811565b61152c565b9050919050565b61190e816118e3565b82525050565b600060408201905061192960008301856117d1565b6119366020830184611905565b9392505050565b6000819050919050565b600061196261195d6119588461193d565b611811565b61152c565b9050919050565b61197281611947565b82525050565b600060408201905061198d60008301856117d1565b61199a6020830184611969565b9392505050565b6000819050919050565b60006119c66119c16119bc846119a1565b611811565b61152c565b9050919050565b6119d6816119ab565b82525050565b60006040820190506119f16000830185611781565b6119fe60208301846119cd565b9392505050565b7f4554482d41000000000000000000000000000000000000000000000000000000815250565b611a348161152c565b82525050565b6000606082019050611a4e60008301611a05565b611a5b6020830185611a2b565b611a6860408301846115d9565b9392505050565b7f4554482d42000000000000000000000000000000000000000000000000000000815250565b6000606082019050611aa960008301611a6f565b611ab66020830185611a2b565b611ac360408301846115d9565b9392505050565b7f4554482d43000000000000000000000000000000000000000000000000000000815250565b6000606082019050611b0460008301611aca565b611b116020830185611a2b565b611b1e60408301846115d9565b9392505050565b7f5753544554482d41000000000000000000000000000000000000000000000000815250565b6000606082019050611b5f60008301611b25565b611b6c6020830185611a2b565b611b7960408301846115d9565b9392505050565b7f5753544554482d42000000000000000000000000000000000000000000000000815250565b6000606082019050611bba60008301611b80565b611bc76020830185611a2b565b611bd460408301846115d9565b9392505050565b7f574254432d410000000000000000000000000000000000000000000000000000815250565b6000606082019050611c1560008301611bdb565b611c226020830185611a2b565b611c2f60408301846115d9565b9392505050565b7f574254432d420000000000000000000000000000000000000000000000000000815250565b6000606082019050611c7060008301611c36565b611c7d6020830185611a2b565b611c8a60408301846115d9565b9392505050565b7f574254432d430000000000000000000000000000000000000000000000000000815250565b6000606082019050611ccb60008301611c91565b611cd86020830185611a2b565b611ce560408301846115d9565b9392505050565b6000604082019050611d016000830185611a2b565b611d0e60208301846115d9565b9392505050565b6000819050919050565b6000611d3a611d35611d3084611d15565b611811565b61152c565b9050919050565b611d4a81611d1f565b82525050565b6000604082019050611d656000830185611781565b611d726020830184611d41565b9392505050565b6000819050919050565b6000611d9e611d99611d9484611d79565b611811565b61152c565b9050919050565b611dae81611d83565b82525050565b6000604082019050611dc96000830185611781565b611dd66020830184611da5565b9392505050565b6000819050919050565b6000611e02611dfd611df884611ddd565b611811565b61152c565b9050919050565b611e1281611de7565b82525050565b6000604082019050611e2d6000830185611781565b611e3a6020830184611e09565b9392505050565b6000819050919050565b6000611e66611e61611e5c84611e41565b611811565b61152c565b9050919050565b611e7681611e4b565b82525050565b6000604082019050611e916000830185611781565b611e9e6020830184611e6d565b9392505050565b6000819050919050565b6000611eca611ec5611ec084611ea5565b611811565b61152c565b9050919050565b611eda81611eaf565b82525050565b6000604082019050611ef56000830185611781565b611f026020830184611ed1565b9392505050565b6000819050919050565b6000611f2e611f29611f2484611f09565b611811565b61152c565b9050919050565b611f3e81611f13565b82525050565b6000604082019050611f596000830185611781565b611f666020830184611f35565b9392505050565b6000819050919050565b6000611f92611f8d611f8884611f6d565b611811565b61152c565b9050919050565b611fa281611f77565b82525050565b6000604082019050611fbd6000830185611781565b611fca6020830184611f99565b9392505050565b6000819050919050565b6000611ff6611ff1611fec84611fd1565b611811565b61152c565b9050919050565b61200681611fdb565b82525050565b60006040820190506120216000830185611781565b61202e6020830184611ffd565b9392505050565b6000819050919050565b600061205a61205561205084612035565b611811565b61152c565b9050919050565b61206a8161203f565b82525050565b60006040820190506120856000830185611781565b6120926020830184612061565b9392505050565b600081519050919050565b600082825260208201905092915050565b60006120c082612099565b6120ca81856120a4565b93506120da818560208601611482565b6120e3816114ac565b840191505092915050565b60006040820190506121036000830185611781565b818103602083015261211581846120b5565b90509392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612160826114ac565b810181811067ffffffffffffffff8211171561217f5761217e612128565b5b80604052505050565b6000612192611518565b905061219e8282612157565b919050565b600067ffffffffffffffff8211156121be576121bd612128565b5b6121c7826114ac565b9050602081019050919050565b60006121e76121e2846121a3565b612188565b90508281526020810184848401111561220357612202612123565b5b61220e848285611482565b509392505050565b600082601f83011261222b5761222a61211e565b5b815161223b8482602086016121d4565b91505092915050565b60006020828403121561225a57612259611522565b5b600082015167ffffffffffffffff81111561227857612277611527565b5b61228484828501612216565b91505092915050565b600082825260208201905092915050565b7f312e31372e340000000000000000000000000000000000000000000000000000600082015250565b60006122d460068361228d565b91506122df8261229e565b602082019050919050565b60006020820190508181036000830152612303816122c7565b905091905056fe323032342d30352d3136204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307863646632326262663763343262653863303962343863653439623033363562386630363165346436373433383762313736643965623964353633653730366232a26469706673582212204a2d9beaf570d2b2c48b6fdae72d483b419fdf5a012f719f8c15aea6277577e364736f6c63430008100033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ce5760003560e01c80637284e4161161008c578063ae8421e111610066578063ae8421e1146101cd578063b0604a26146101eb578063f7992d85146101f5578063fe7d47bb14610213576100ce565b80637284e416146101875780638456cb59146101a557806396d373e5146101c3576100ce565b8062a7029b146100d35780630a7a1c4d146100f15780634665096d1461010f57806351973ec91461012d57806351f910661461014b5780636e832f0714610169575b600080fd5b6100db610231565b6040516100e89190610959565b60405180910390f35b6100f96102bf565b60405161010691906109bc565b60405180910390f35b6101176102e3565b60405161012491906109f0565b60405180910390f35b610135610307565b6040516101429190610a6a565b60405180910390f35b61015361031f565b6040516101609190610a9e565b60405180910390f35b610171610343565b60405161017e9190610ad4565b60405180910390f35b61018f6103d9565b60405161019c9190610b44565b60405180910390f35b6101ad610474565b6040516101ba9190610b87565b60405180910390f35b6101cb610498565b005b6101d56105f0565b6040516101e29190610ad4565b60405180910390f35b6101f3610603565b005b6101fd610820565b60405161020a91906109f0565b60405180910390f35b61021b610826565b60405161022891906109f0565b60405180910390f35b6001805461023e90610bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461026a90610bd1565b80156102b75780601f1061028c576101008083540402835291602001916102b7565b820191906000526020600020905b81548152906001019060200180831161029a57829003601f168201915b505050505081565b7f0000000000000000000000006a65d46645bc7c1ae4c95f5f00968e48add009c381565b7f00000000000000000000000000000000000000000000000000000000666d9b4781565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7f8d56f5149ab50c0f290a4942cc692ce72111d4e98473f8f7ead1d0c4e37a172481565b60007f0000000000000000000000006a65d46645bc7c1ae4c95f5f00968e48add009c373ffffffffffffffffffffffffffffffffffffffff16636e832f076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190610c42565b905090565b60607f0000000000000000000000006a65d46645bc7c1ae4c95f5f00968e48add009c373ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa158015610446573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061046f9190610d95565b905090565b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f381565b600260009054906101000a900460ff16156104e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df90610e2a565b60405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f000000000000000000000000be286431454714f511008713973d3b053a2d38f373ffffffffffffffffffffffffffffffffffffffff1663168ccd677f0000000000000000000000006a65d46645bc7c1ae4c95f5f00968e48add009c37f8d56f5149ab50c0f290a4942cc692ce72111d4e98473f8f7ead1d0c4e37a172460016000546040518563ffffffff1660e01b81526004016105a59493929190610ee3565b6000604051808303816000875af11580156105c4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105ed9190610fd0565b50565b600260009054906101000a900460ff1681565b7f00000000000000000000000000000000000000000000000000000000666d9b47421115610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d90611065565b60405180910390fd5b60008054146106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a1906110f7565b60405180910390fd5b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f373ffffffffffffffffffffffffffffffffffffffff16636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611143565b42610744919061119f565b6000819055507f000000000000000000000000be286431454714f511008713973d3b053a2d38f373ffffffffffffffffffffffffffffffffffffffff166346d2fbbb7f0000000000000000000000006a65d46645bc7c1ae4c95f5f00968e48add009c37f8d56f5149ab50c0f290a4942cc692ce72111d4e98473f8f7ead1d0c4e37a172460016000546040518563ffffffff1660e01b81526004016107ec9493929190610ee3565b600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b50505050565b60005481565b60007f0000000000000000000000006a65d46645bc7c1ae4c95f5f00968e48add009c373ffffffffffffffffffffffffffffffffffffffff1663bf0fbcec6000546040518263ffffffff1660e01b815260040161088391906109f0565b602060405180830381865afa1580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611143565b905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156109035780820151818401526020810190506108e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061092b826108c9565b61093581856108d4565b93506109458185602086016108e5565b61094e8161090f565b840191505092915050565b600060208201905081810360008301526109738184610920565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109a68261097b565b9050919050565b6109b68161099b565b82525050565b60006020820190506109d160008301846109ad565b92915050565b6000819050919050565b6109ea816109d7565b82525050565b6000602082019050610a0560008301846109e1565b92915050565b6000819050919050565b6000610a30610a2b610a268461097b565b610a0b565b61097b565b9050919050565b6000610a4282610a15565b9050919050565b6000610a5482610a37565b9050919050565b610a6481610a49565b82525050565b6000602082019050610a7f6000830184610a5b565b92915050565b6000819050919050565b610a9881610a85565b82525050565b6000602082019050610ab36000830184610a8f565b92915050565b60008115159050919050565b610ace81610ab9565b82525050565b6000602082019050610ae96000830184610ac5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610b1682610aef565b610b208185610afa565b9350610b308185602086016108e5565b610b398161090f565b840191505092915050565b60006020820190508181036000830152610b5e8184610b0b565b905092915050565b6000610b7182610a37565b9050919050565b610b8181610b66565b82525050565b6000602082019050610b9c6000830184610b78565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610be957607f821691505b602082108103610bfc57610bfb610ba2565b5b50919050565b6000604051905090565b600080fd5b600080fd5b610c1f81610ab9565b8114610c2a57600080fd5b50565b600081519050610c3c81610c16565b92915050565b600060208284031215610c5857610c57610c0c565b5b6000610c6684828501610c2d565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cb18261090f565b810181811067ffffffffffffffff82111715610cd057610ccf610c79565b5b80604052505050565b6000610ce3610c02565b9050610cef8282610ca8565b919050565b600067ffffffffffffffff821115610d0f57610d0e610c79565b5b610d188261090f565b9050602081019050919050565b6000610d38610d3384610cf4565b610cd9565b905082815260208101848484011115610d5457610d53610c74565b5b610d5f8482856108e5565b509392505050565b600082601f830112610d7c57610d7b610c6f565b5b8151610d8c848260208601610d25565b91505092915050565b600060208284031215610dab57610daa610c0c565b5b600082015167ffffffffffffffff811115610dc957610dc8610c11565b5b610dd584828501610d67565b91505092915050565b7f7370656c6c2d616c72656164792d636173740000000000000000000000000000600082015250565b6000610e14601283610afa565b9150610e1f82610dde565b602082019050919050565b60006020820190508181036000830152610e4381610e07565b9050919050565b60008190508160005260206000209050919050565b60008154610e6c81610bd1565b610e7681866108d4565b94506001821660008114610e915760018114610ea757610eda565b60ff198316865281151560200286019350610eda565b610eb085610e4a565b60005b83811015610ed257815481890152600182019150602081019050610eb3565b808801955050505b50505092915050565b6000608082019050610ef860008301876109ad565b610f056020830186610a8f565b8181036040830152610f178185610e5f565b9050610f2660608301846109e1565b95945050505050565b600067ffffffffffffffff821115610f4a57610f49610c79565b5b610f538261090f565b9050602081019050919050565b6000610f73610f6e84610f2f565b610cd9565b905082815260208101848484011115610f8f57610f8e610c74565b5b610f9a8482856108e5565b509392505050565b600082601f830112610fb757610fb6610c6f565b5b8151610fc7848260208601610f60565b91505092915050565b600060208284031215610fe657610fe5610c0c565b5b600082015167ffffffffffffffff81111561100457611003610c11565b5b61101084828501610fa2565b91505092915050565b7f5468697320636f6e747261637420686173206578706972656400000000000000600082015250565b600061104f601983610afa565b915061105a82611019565b602082019050919050565b6000602082019050818103600083015261107e81611042565b9050919050565b7f54686973207370656c6c2068617320616c7265616479206265656e207363686560008201527f64756c6564000000000000000000000000000000000000000000000000000000602082015250565b60006110e1602583610afa565b91506110ec82611085565b604082019050919050565b60006020820190508181036000830152611110816110d4565b9050919050565b611120816109d7565b811461112b57600080fd5b50565b60008151905061113d81611117565b92915050565b60006020828403121561115957611158610c0c565b5b60006111678482850161112e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111aa826109d7565b91506111b5836109d7565b92508282019050808211156111cd576111cc611170565b5b9291505056fea2646970667358221220db335a51e36439388a48fc29e4d2c4d82a70c0d830bd5e6df24a13a4fff3367a64736f6c63430008100033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.