Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x61018060 | 22382645 | 263 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DssSpell
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-04-30
*/
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity =0.8.16 >=0.5.12 ^0.8.16;
// 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/>.
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/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/>.
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
// 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);
}
// 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/>.
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_0 {
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 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 autoLine() public view returns (address) { return getChangelogAddress("MCD_IAM_AUTO_LINE"); }
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 setIlkAutoLineParameters(bytes32 _ilk, uint256 _amount, uint256 _gap, uint256 _ttl) 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/>.
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());
}
}
// 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/>.
interface DaiUsdsLike {
function daiToUsds(address usr, uint256 wad) external;
}
interface MkrSkyLike {
function mkrToSky(address usr, uint256 wad) external;
function rate() external view returns (uint256);
}
interface PauseLike {
function setDelay(uint256) external;
}
interface LitePsmLike {
function kiss(address) external;
}
interface ProxyLike {
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/4ee57431afa70c85f5c643922a7cd066619f1927/governance/votes/Executive%20Vote%20-%20April%2030%2C%202025.md' -q -O - 2>/dev/null)"
string public constant override description = "2025-04-30 MakerDAO Executive Spell | Hash: 0x5fb7937427fd3091b578b2c5a0149a679d1685081abf4eed96d7feb6785ad97e";
// Set office hours according to the summary
function officeHours() public pure override returns (bool) {
return true;
}
// ---------- 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_RATE = ;
// ---------- Math ----------
uint256 internal constant MILLION = 10 ** 6;
uint256 internal constant WAD = 10 ** 18;
// ---------- Contracts ----------
GemAbstract internal immutable DAI = GemAbstract(DssExecLib.dai());
GemAbstract internal immutable MKR = GemAbstract(DssExecLib.mkr());
GemAbstract internal immutable SKY = GemAbstract(DssExecLib.getChangelogAddress("SKY"));
address internal immutable DAI_USDS = DssExecLib.getChangelogAddress("DAI_USDS");
address internal immutable MKR_SKY = DssExecLib.getChangelogAddress("MKR_SKY");
address internal immutable MCD_PAUSE = DssExecLib.getChangelogAddress("MCD_PAUSE");
address internal immutable MCD_LITE_PSM_USDC_A = DssExecLib.getChangelogAddress("MCD_LITE_PSM_USDC_A");
address internal constant ALM_PROXY = 0x491EDFB0B8b608044e227225C715981a30F3A44E;
address internal constant EMSP_SPBEAM_HALT = 0xDECF4A7E4b9CAa3c3751D163866941a888618Ac0;
// ---------- Wallets ----------
address internal constant LAUNCH_PROJECT_FUNDING = 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F;
address internal constant INTEGRATION_BOOST_INITIATIVE = 0xD6891d1DFFDA6B0B1aF3524018a1eE2E608785F7;
// ---------- Constant Values ----------
uint256 internal immutable MKR_SKY_RATE = MkrSkyLike(DssExecLib.getChangelogAddress("MKR_SKY")).rate();
// ---------- Spark Proxy 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 = 0x9362B8a15ab78257b11a55F7CC272F4C4676C2fe;
// ---------- STAR2 Proxy Spell ----------
// Note: The deployment address for the Bloom Proxy can be found at https://forum.sky.money/t/technical-scope-of-the-star-2-allocator-launch/26190
address internal constant BLOOM_PROXY = 0x1369f7b2b38c76B6478c0f0E66D94923421891Ba;
address internal constant BLOOM_SPELL = 0x0c9CC5D5fF3baf096d29676039BD6fB94586111A;
function actions() public override {
// ---------- STAR2 Allocation System Updates ----------
// Forum: https://forum.sky.money/t/technical-test-of-the-star2-allocation-system/26289
// Poll: https://vote.makerdao.com/polling/QmepaQjk#poll-detail
// Poll: https://vote.makerdao.com/polling/QmedB3hH
// Whitelist STAR2 ALMProxy on the LitePSM with the following call:
// MCD_LITE_PSM_USDC_A.kiss(0x491EDFB0B8b608044e227225C715981a30F3A44E)
LitePsmLike(MCD_LITE_PSM_USDC_A).kiss(ALM_PROXY);
// STAR2 Auto-line Changes
// Increase DC-IAM gap by 40 million DAI from 10 million DAI to 50 million DAI.
// Increase DC-IAM line by 90 million DAI from 10 million DAI to 100 million DAI.
// Note: ttl is not specified in the exec sheet so it is left unchanged i.e. 24 hours
DssExecLib.setIlkAutoLineParameters("ALLOCATOR-BLOOM-A", /* line = */ 100 * MILLION, /* gap = */ 50 * MILLION, /* ttl = */ 24 hours);
// ---------- Increase GSM Pause Delay ----------
// Forum: https://forum.sky.money/t/parameter-changes-poll-april-21-2025/26290
// Poll: https://vote.makerdao.com/polling/QmedB3hH#poll-detail
// Increase GSM delay by 30 hours from 18 hours to 48 hours.
PauseLike(MCD_PAUSE).setDelay(48 hours);
// ---------- Add Emergency Spell to Chainlog ----------
// Forum: https://forum.sky.money/t/proposed-housekeeping-item-upcoming-executive-spell-2025-04-30/26304
// Add EMSP_SPBEAM_HALT at 0xDECF4A7E4b9CAa3c3751D163866941a888618Ac0 to the Chainlog
DssExecLib.setChangelogAddress("EMSP_SPBEAM_HALT", EMSP_SPBEAM_HALT);
// Note: bump Chainlog version since a new key is being added
DssExecLib.setChangelogVersion("1.19.10");
// ---------- Top-up of the Integration Boost ----------
// Forum: https://forum.sky.money/t/utilization-of-the-integration-boost-budget-a-5-2-1-2/25536/10
// Atlas: https://sky-atlas.powerhouse.io/A.AG1.2.5.P13_Integration_Boost_Primitive/1c1f2ff0-8d73-81de-9e4f-c86f07474bf2%7C7896ed3326389fe3185c6795
// Transfer 3,000,000 USDS to 0xD6891d1DFFDA6B0B1aF3524018a1eE2E608785F7
_transferUsds(INTEGRATION_BOOST_INITIATIVE, 3_000_000 * WAD);
// ---------- Launch Project Funding ----------
// Forum: https://forum.sky.money/t/utilization-of-the-launch-project-under-the-accessibility-scope/21468/37
// Atlas: https://sky-atlas.powerhouse.io/A.5.6_Launch_Project/1f433d9d-7cdb-406f-b7e8-f9bc4855eb77%7C8d5a
// Transfer 5,000,000 USDS to 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F
_transferUsds(LAUNCH_PROJECT_FUNDING, 5_000_000 * WAD);
// Transfer 30,000,000 SKY to 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F
_transferSky(LAUNCH_PROJECT_FUNDING, 30_000_000 * WAD);
// ---------- Spark Proxy Spell ----------
// Forum: https://forum.sky.money/t/may-1-2025-proposed-changes-to-spark-for-upcoming-spell/26288
// Poll: https://vote.makerdao.com/polling/QmQM99z5
// Poll: https://vote.makerdao.com/polling/QmfJ5yDF
// Poll: https://vote.makerdao.com/polling/QmZ2vydY
// Poll: https://vote.makerdao.com/polling/Qmdc28Ag
// Poll: https://vote.makerdao.com/polling/Qmee2jez
// Poll: https://vote.makerdao.com/polling/QmeNB8S1
// Poll: https://vote.makerdao.com/polling/QmfBmrxq
// Execute Spark Proxy spell at 0x9362B8a15ab78257b11a55F7CC272F4C4676C2fe
ProxyLike(SPARK_PROXY).exec(SPARK_SPELL, abi.encodeWithSignature("execute()"));
// ---------- STAR2 Proxy Spell ----------
// Forum: https://forum.sky.money/t/technical-test-of-the-star2-allocation-system/26289
// Poll: https://vote.makerdao.com/polling/QmepaQjk
// Execute STAR2 Proxy spell at 0x0c9CC5D5fF3baf096d29676039BD6fB94586111A
ProxyLike(BLOOM_PROXY).exec(BLOOM_SPELL, abi.encodeWithSignature("execute()"));
}
// ---------- Helper Functions ----------
/// @notice wraps the operations required to transfer USDS from the surplus buffer.
/// @param usr The USDS receiver.
/// @param wad The USDS amount in wad precision (10 ** 18).
function _transferUsds(address usr, uint256 wad) internal {
// Note: Enforce whole units to avoid rounding errors
require(wad % WAD == 0, "transferUsds/non-integer-wad");
// Note: DssExecLib currently only supports Dai transfers from the surplus buffer.
DssExecLib.sendPaymentFromSurplusBuffer(address(this), wad / WAD);
// Note: Approve DAI_USDS for the amount sent to be able to convert it.
DAI.approve(DAI_USDS, wad);
// Note: Convert Dai to USDS for `usr`.
DaiUsdsLike(DAI_USDS).daiToUsds(usr, wad);
}
/// @notice wraps the operations required to transfer SKY from the treasury.
/// @param usr The SKY receiver.
/// @param wad The SKY amount in wad precision (10 ** 18).
function _transferSky(address usr, uint256 wad) internal {
// Note: Calculate the equivalent amount of MKR required
uint256 mkrWad = wad / MKR_SKY_RATE;
// Note: if rounding error is expected, add an extra wei of MKR
if (wad % MKR_SKY_RATE != 0) { mkrWad++; }
// Note: Approve MKR_SKY for the amount sent to be able to convert it
MKR.approve(MKR_SKY, mkrWad);
// Note: Convert the calculated amount to SKY for `PAUSE_PROXY`
MkrSkyLike(MKR_SKY).mkrToSky(address(this), mkrWad);
// Note: Transfer originally requested amount, leaving extra on the `PAUSE_PROXY`
GemAbstract(SKY).transfer(usr, wad);
}
}
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
6101006040523480156200001257600080fd5b5062278d004262000024919062000247565b604051620000329062000200565b604051809103906000f0801580156200004f573d6000803e3d6000fd5b5073da0ab1e0017debcd72be8599041a2aa3ba7e740f73ffffffffffffffffffffffffffffffffffffffff166321f8a7216040518163ffffffff1660e01b81526004016200009d90620002a8565b602060405180830381865afa158015620000bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e191906200032d565b73ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508160c081815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506040516024016040516020818303038152906040527f61461954000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060019081620001e39190620005cf565b50600080829050803f9150816080818152505050505050620006b6565b611f1f806200194683390190565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000254826200020e565b915062000261836200020e565b92508282019050808211156200027c576200027b62000218565b5b92915050565b7f4d43445f50415553450000000000000000000000000000000000000000000000815250565b6000602082019050620002be6000830162000282565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002f582620002c8565b9050919050565b6200030781620002e8565b81146200031357600080fd5b50565b6000815190506200032781620002fc565b92915050565b600060208284031215620003465762000345620002c3565b5b6000620003568482850162000316565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003e157607f821691505b602082108103620003f757620003f662000399565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000422565b6200046d868362000422565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620004b0620004aa620004a4846200020e565b62000485565b6200020e565b9050919050565b6000819050919050565b620004cc836200048f565b620004e4620004db82620004b7565b8484546200042f565b825550505050565b600090565b620004fb620004ec565b62000508818484620004c1565b505050565b5b81811015620005305762000524600082620004f1565b6001810190506200050e565b5050565b601f8211156200057f576200054981620003fd565b620005548462000412565b8101602085101562000564578190505b6200057c620005738562000412565b8301826200050d565b50505b505050565b600082821c905092915050565b6000620005a46000198460080262000584565b1980831691505092915050565b6000620005bf838362000591565b9150826002028217905092915050565b620005da826200035f565b67ffffffffffffffff811115620005f657620005f56200036a565b5b620006028254620003c8565b6200060f82828562000534565b600060209050601f83116001811462000647576000841562000632578287015190505b6200063e8582620005b1565b865550620006ae565b601f1984166200065786620003fd565b60005b8281101562000681578489015182556001820191506020850194506020810190506200065a565b86831015620006a157848901516200069d601f89168262000591565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e0516112096200073d6000396000818161047601528181610505015281816106ac015261074c0152600081816102e501526106050152600081816102c101528181610347015281816103dd0152818161054101528181610788015261082a0152600081816103210152818161056201526107a901526112096000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c80637284e4161161008c578063ae8421e111610066578063ae8421e1146101cd578063b0604a26146101eb578063f7992d85146101f5578063fe7d47bb14610213576100ce565b80637284e416146101875780638456cb59146101a557806396d373e5146101c3576100ce565b8062a7029b146100d35780630a7a1c4d146100f15780634665096d1461010f57806351973ec91461012d57806351f910661461014b5780636e832f0714610169575b600080fd5b6100db610231565b6040516100e89190610959565b60405180910390f35b6100f96102bf565b60405161010691906109bc565b60405180910390f35b6101176102e3565b60405161012491906109f0565b60405180910390f35b610135610307565b6040516101429190610a6a565b60405180910390f35b61015361031f565b6040516101609190610a9e565b60405180910390f35b610171610343565b60405161017e9190610ad4565b60405180910390f35b61018f6103d9565b60405161019c9190610b44565b60405180910390f35b6101ad610474565b6040516101ba9190610b87565b60405180910390f35b6101cb610498565b005b6101d56105f0565b6040516101e29190610ad4565b60405180910390f35b6101f3610603565b005b6101fd610820565b60405161020a91906109f0565b60405180910390f35b61021b610826565b60405161022891906109f0565b60405180910390f35b6001805461023e90610bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461026a90610bd1565b80156102b75780601f1061028c576101008083540402835291602001916102b7565b820191906000526020600020905b81548152906001019060200180831161029a57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e832f076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190610c42565b905090565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa158015610446573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061046f9190610d95565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600260009054906101000a900460ff16156104e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df90610e2a565b60405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663168ccd677f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060016000546040518563ffffffff1660e01b81526004016105a59493929190610ee3565b6000604051808303816000875af11580156105c4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105ed9190610fd0565b50565b600260009054906101000a900460ff1681565b7f0000000000000000000000000000000000000000000000000000000000000000421115610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d90611065565b60405180910390fd5b60008054146106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a1906110f7565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611143565b42610744919061119f565b6000819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166346d2fbbb7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060016000546040518563ffffffff1660e01b81526004016107ec9493929190610ee3565b600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b50505050565b60005481565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bf0fbcec6000546040518263ffffffff1660e01b815260040161088391906109f0565b602060405180830381865afa1580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611143565b905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156109035780820151818401526020810190506108e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061092b826108c9565b61093581856108d4565b93506109458185602086016108e5565b61094e8161090f565b840191505092915050565b600060208201905081810360008301526109738184610920565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109a68261097b565b9050919050565b6109b68161099b565b82525050565b60006020820190506109d160008301846109ad565b92915050565b6000819050919050565b6109ea816109d7565b82525050565b6000602082019050610a0560008301846109e1565b92915050565b6000819050919050565b6000610a30610a2b610a268461097b565b610a0b565b61097b565b9050919050565b6000610a4282610a15565b9050919050565b6000610a5482610a37565b9050919050565b610a6481610a49565b82525050565b6000602082019050610a7f6000830184610a5b565b92915050565b6000819050919050565b610a9881610a85565b82525050565b6000602082019050610ab36000830184610a8f565b92915050565b60008115159050919050565b610ace81610ab9565b82525050565b6000602082019050610ae96000830184610ac5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610b1682610aef565b610b208185610afa565b9350610b308185602086016108e5565b610b398161090f565b840191505092915050565b60006020820190508181036000830152610b5e8184610b0b565b905092915050565b6000610b7182610a37565b9050919050565b610b8181610b66565b82525050565b6000602082019050610b9c6000830184610b78565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610be957607f821691505b602082108103610bfc57610bfb610ba2565b5b50919050565b6000604051905090565b600080fd5b600080fd5b610c1f81610ab9565b8114610c2a57600080fd5b50565b600081519050610c3c81610c16565b92915050565b600060208284031215610c5857610c57610c0c565b5b6000610c6684828501610c2d565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cb18261090f565b810181811067ffffffffffffffff82111715610cd057610ccf610c79565b5b80604052505050565b6000610ce3610c02565b9050610cef8282610ca8565b919050565b600067ffffffffffffffff821115610d0f57610d0e610c79565b5b610d188261090f565b9050602081019050919050565b6000610d38610d3384610cf4565b610cd9565b905082815260208101848484011115610d5457610d53610c74565b5b610d5f8482856108e5565b509392505050565b600082601f830112610d7c57610d7b610c6f565b5b8151610d8c848260208601610d25565b91505092915050565b600060208284031215610dab57610daa610c0c565b5b600082015167ffffffffffffffff811115610dc957610dc8610c11565b5b610dd584828501610d67565b91505092915050565b7f7370656c6c2d616c72656164792d636173740000000000000000000000000000600082015250565b6000610e14601283610afa565b9150610e1f82610dde565b602082019050919050565b60006020820190508181036000830152610e4381610e07565b9050919050565b60008190508160005260206000209050919050565b60008154610e6c81610bd1565b610e7681866108d4565b94506001821660008114610e915760018114610ea757610eda565b60ff198316865281151560200286019350610eda565b610eb085610e4a565b60005b83811015610ed257815481890152600182019150602081019050610eb3565b808801955050505b50505092915050565b6000608082019050610ef860008301876109ad565b610f056020830186610a8f565b8181036040830152610f178185610e5f565b9050610f2660608301846109e1565b95945050505050565b600067ffffffffffffffff821115610f4a57610f49610c79565b5b610f538261090f565b9050602081019050919050565b6000610f73610f6e84610f2f565b610cd9565b905082815260208101848484011115610f8f57610f8e610c74565b5b610f9a8482856108e5565b509392505050565b600082601f830112610fb757610fb6610c6f565b5b8151610fc7848260208601610f60565b91505092915050565b600060208284031215610fe657610fe5610c0c565b5b600082015167ffffffffffffffff81111561100457611003610c11565b5b61101084828501610fa2565b91505092915050565b7f5468697320636f6e747261637420686173206578706972656400000000000000600082015250565b600061104f601983610afa565b915061105a82611019565b602082019050919050565b6000602082019050818103600083015261107e81611042565b9050919050565b7f54686973207370656c6c2068617320616c7265616479206265656e207363686560008201527f64756c6564000000000000000000000000000000000000000000000000000000602082015250565b60006110e1602583610afa565b91506110ec82611085565b604082019050919050565b60006020820190508181036000830152611110816110d4565b9050919050565b611120816109d7565b811461112b57600080fd5b50565b60008151905061113d81611117565b92915050565b60006020828403121561115957611158610c0c565b5b60006111678482850161112e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111aa826109d7565b91506111b5836109d7565b92508282019050808211156111cd576111cc611170565b5b9291505056fea2646970667358221220d3de0af47ed000c403e37acd2b2764b8d21aba2a171bd223e90e5748407a16c364736f6c63430008100033610180604052738de6ddbcd5053d32292aaa0d2105a32d108484a663f4b9fa756040518163ffffffff1660e01b8152600401602060405180830381865af41580156200004f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200007591906200061e565b73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a6637e992cb86040518163ffffffff1660e01b8152600401602060405180830381865af4158015620000f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011791906200061e565b73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b8152600401620001809062000676565b602060405180830381865af41580156200019e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c491906200061e565b73ffffffffffffffffffffffffffffffffffffffff1660c09073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b81526004016200022d90620006b7565b602060405180830381865af41580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027191906200061e565b73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b8152600401620002da90620006f8565b602060405180830381865af4158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e91906200061e565b73ffffffffffffffffffffffffffffffffffffffff166101009073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b8152600401620003889062000739565b602060405180830381865af4158015620003a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cc91906200061e565b73ffffffffffffffffffffffffffffffffffffffff166101209073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b815260040162000436906200077a565b602060405180830381865af415801562000454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200047a91906200061e565b73ffffffffffffffffffffffffffffffffffffffff166101409073ffffffffffffffffffffffffffffffffffffffff16815250738de6ddbcd5053d32292aaa0d2105a32d108484a663a16ed56f6040518163ffffffff1660e01b8152600401620004e490620006f8565b602060405180830381865af415801562000502573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052891906200061e565b73ffffffffffffffffffffffffffffffffffffffff16632c4e722e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000573573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005999190620007d0565b61016090815250348015620005ad57600080fd5b5062000802565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005e682620005b9565b9050919050565b620005f881620005d9565b81146200060457600080fd5b50565b6000815190506200061881620005ed565b92915050565b600060208284031215620006375762000636620005b4565b5b6000620006478482850162000607565b91505092915050565b7f534b590000000000000000000000000000000000000000000000000000000000815250565b60006020820190506200068c6000830162000650565b919050565b7f4441495f55534453000000000000000000000000000000000000000000000000815250565b6000602082019050620006cd6000830162000691565b919050565b7f4d4b525f534b5900000000000000000000000000000000000000000000000000815250565b60006020820190506200070e60008301620006d2565b919050565b7f4d43445f50415553450000000000000000000000000000000000000000000000815250565b60006020820190506200074f6000830162000713565b919050565b7f4d43445f4c4954455f50534d5f555344435f4100000000000000000000000000815250565b6000602082019050620007906000830162000754565b919050565b6000819050919050565b620007aa8162000795565b8114620007b657600080fd5b50565b600081519050620007ca816200079f565b92915050565b600060208284031215620007e957620007e8620005b4565b5b6000620007f984828501620007b9565b91505092915050565b60805160a05160c05160e051610100516101205161014051610160516116a26200087d60003960008181610a250152610a550152600061026d01526000610398015260008181610ad10152610b5401526000818161090f015261099201526000610be101526000610a95015260006108d301526116a26000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063614619541461005c5780636e832f07146100665780637284e41614610084578063bf0fbcec146100a2578063f99e36bc146100d2575b600080fd5b6100646100dc565b005b61006e6101a6565b60405161007b9190610c9e565b60405180910390f35b61008c6101af565b6040516100999190610d49565b60405180910390f35b6100bc60048036038101906100b79190610db5565b6101cb565b6040516100c99190610df1565b60405180910390f35b6100da61026b565b005b738de6ddbcd5053d32292aaa0d2105a32d108484a66335329d4c426100ff6101a6565b6040518363ffffffff1660e01b815260040161011c929190610e3b565b602060405180830381865af4158015610139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015d9190610e90565b61019c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019390610f09565b60405180910390fd5b6101a461026b565b565b60006001905090565b6040518060a00160405280606e81526020016115ff606e913981565b600064ffffffffff80168211156101e157600080fd5b738de6ddbcd5053d32292aaa0d2105a32d108484a663d255745683426102056101a6565b6040518463ffffffff1660e01b815260040161022393929190610f29565b602060405180830381865af4158015610240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102649190610f75565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f29c29c473491edfb0b8b608044e227225c715981a30f3a44e6040518263ffffffff1660e01b81526004016102d89190610fe3565b600060405180830381600087803b1580156102f257600080fd5b505af1158015610306573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a663b085f237620f42406064610334919061102d565b620f42406032610344919061102d565b620151806040518463ffffffff1660e01b815260040161036693929190611101565b60006040518083038186803b15801561037e57600080fd5b505af4158015610392573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e177246e6202a3006040518263ffffffff1660e01b81526004016103f2919061117f565b600060405180830381600087803b15801561040c57600080fd5b505af1158015610420573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a66319d900a173decf4a7e4b9caa3c3751d163866941a888618ac06040518263ffffffff1660e01b815260040161046f91906111cf565b60006040518083038186803b15801561048757600080fd5b505af415801561049b573d6000803e3d6000fd5b50505050738de6ddbcd5053d32292aaa0d2105a32d108484a6635f3a7dd76040518163ffffffff1660e01b81526004016104d490611253565b60006040518083038186803b1580156104ec57600080fd5b505af4158015610500573d6000803e3d6000fd5b5050505061053873d6891d1dffda6b0b1af3524018a1ee2e608785f7670de0b6b3a7640000622dc6c0610533919061102d565b6107ff565b61056c733c5142f28567e6a0f172fd0baaf1f2847f49d02f670de0b6b3a7640000624c4b40610567919061102d565b6107ff565b6105a1733c5142f28567e6a0f172fd0baaf1f2847f49d02f670de0b6b3a76400006301c9c38061059c919061102d565b610a21565b733300f198988e4c9c63f75df86de36421f06af8c473ffffffffffffffffffffffffffffffffffffffff1663be6002c2739362b8a15ab78257b11a55f7cc272f4c4676c2fe6040516024016040516020818303038152906040527f61461954000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b81526004016106869291906112c8565b6000604051808303816000875af11580156106a5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906106ce919061141e565b50731369f7b2b38c76b6478c0f0e66d94923421891ba73ffffffffffffffffffffffffffffffffffffffff1663be6002c2730c9cc5d5ff3baf096d29676039bd6fb94586111a6040516024016040516020818303038152906040527f61461954000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b81526004016107b49291906112c8565b6000604051808303816000875af11580156107d3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107fc919061141e565b50565b6000670de0b6b3a7640000826108159190611496565b14610855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084c90611513565b60405180910390fd5b738de6ddbcd5053d32292aaa0d2105a32d108484a663b1698f4130670de0b6b3a7640000846108849190611533565b6040518363ffffffff1660e01b81526004016108a1929190611564565b60006040518083038186803b1580156108b957600080fd5b505af41580156108cd573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040161094c92919061158d565b6020604051808303816000875af115801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f9190610e90565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f2c07aae83836040518363ffffffff1660e01b81526004016109eb92919061158d565b600060405180830381600087803b158015610a0557600080fd5b505af1158015610a19573d6000803e3d6000fd5b505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000082610a4f9190611533565b905060007f000000000000000000000000000000000000000000000000000000000000000083610a7f9190611496565b14610a93578080610a8f906115b6565b9150505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610b0e92919061158d565b6020604051808303816000875af1158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190610e90565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ab89605a30836040518363ffffffff1660e01b8152600401610bad92919061158d565b600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610c3a92919061158d565b6020604051808303816000875af1158015610c59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7d9190610e90565b50505050565b60008115159050919050565b610c9881610c83565b82525050565b6000602082019050610cb36000830184610c8f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cf3578082015181840152602081019050610cd8565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d1b82610cb9565b610d258185610cc4565b9350610d35818560208601610cd5565b610d3e81610cff565b840191505092915050565b60006020820190508181036000830152610d638184610d10565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610d9281610d7f565b8114610d9d57600080fd5b50565b600081359050610daf81610d89565b92915050565b600060208284031215610dcb57610dca610d75565b5b6000610dd984828501610da0565b91505092915050565b610deb81610d7f565b82525050565b6000602082019050610e066000830184610de2565b92915050565b600064ffffffffff82169050919050565b610e2681610e0c565b82525050565b610e3581610c83565b82525050565b6000604082019050610e506000830185610e1d565b610e5d6020830184610e2c565b9392505050565b610e6d81610c83565b8114610e7857600080fd5b50565b600081519050610e8a81610e64565b92915050565b600060208284031215610ea657610ea5610d75565b5b6000610eb484828501610e7b565b91505092915050565b7f4f757473696465206f666669636520686f757273000000000000000000000000600082015250565b6000610ef3601483610cc4565b9150610efe82610ebd565b602082019050919050565b60006020820190508181036000830152610f2281610ee6565b9050919050565b6000606082019050610f3e6000830186610e1d565b610f4b6020830185610e1d565b610f586040830184610e2c565b949350505050565b600081519050610f6f81610d89565b92915050565b600060208284031215610f8b57610f8a610d75565b5b6000610f9984828501610f60565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fcd82610fa2565b9050919050565b610fdd81610fc2565b82525050565b6000602082019050610ff86000830184610fd4565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061103882610d7f565b915061104383610d7f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561107c5761107b610ffe565b5b828202905092915050565b7f414c4c4f4341544f522d424c4f4f4d2d41000000000000000000000000000000815250565b6110b681610d7f565b82525050565b6000819050919050565b6000819050919050565b60006110eb6110e66110e1846110bc565b6110c6565b610d7f565b9050919050565b6110fb816110d0565b82525050565b600060808201905061111560008301611087565b61112260208301866110ad565b61112f60408301856110ad565b61113c60608301846110f2565b949350505050565b6000819050919050565b600061116961116461115f84611144565b6110c6565b610d7f565b9050919050565b6111798161114e565b82525050565b60006020820190506111946000830184611170565b92915050565b7f454d53505f53504245414d5f48414c5400000000000000000000000000000000815250565b6111c981610fc2565b82525050565b60006040820190506111e36000830161119a565b6111f060208301846111c0565b92915050565b600082825260208201905092915050565b7f312e31392e313000000000000000000000000000000000000000000000000000600082015250565b600061123d6007836111f6565b915061124882611207565b602082019050919050565b6000602082019050818103600083015261126c81611230565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061129a82611273565b6112a4818561127e565b93506112b4818560208601610cd5565b6112bd81610cff565b840191505092915050565b60006040820190506112dd6000830185610fd4565b81810360208301526112ef818461128f565b90509392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61133a82610cff565b810181811067ffffffffffffffff8211171561135957611358611302565b5b80604052505050565b600061136c610d6b565b90506113788282611331565b919050565b600067ffffffffffffffff82111561139857611397611302565b5b6113a182610cff565b9050602081019050919050565b60006113c16113bc8461137d565b611362565b9050828152602081018484840111156113dd576113dc6112fd565b5b6113e8848285610cd5565b509392505050565b600082601f830112611405576114046112f8565b5b81516114158482602086016113ae565b91505092915050565b60006020828403121561143457611433610d75565b5b600082015167ffffffffffffffff81111561145257611451610d7a565b5b61145e848285016113f0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006114a182610d7f565b91506114ac83610d7f565b9250826114bc576114bb611467565b5b828206905092915050565b7f7472616e73666572557364732f6e6f6e2d696e74656765722d77616400000000600082015250565b60006114fd601c83610cc4565b9150611508826114c7565b602082019050919050565b6000602082019050818103600083015261152c816114f0565b9050919050565b600061153e82610d7f565b915061154983610d7f565b92508261155957611558611467565b5b828204905092915050565b600060408201905061157960008301856111c0565b61158660208301846110ad565b9392505050565b60006040820190506115a26000830185610fd4565b6115af6020830184610de2565b9392505050565b60006115c182610d7f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036115f3576115f2610ffe565b5b60018201905091905056fe323032352d30342d3330204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307835666237393337343237666433303931623537386232633561303134396136373964313638353038316162663465656439366437666562363738356164393765a26469706673582212207c3b9828b55585a1334adcfccfd36078ee7dc4bbc7109dfabe8fa81b55c26a1e64736f6c63430008100033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ce5760003560e01c80637284e4161161008c578063ae8421e111610066578063ae8421e1146101cd578063b0604a26146101eb578063f7992d85146101f5578063fe7d47bb14610213576100ce565b80637284e416146101875780638456cb59146101a557806396d373e5146101c3576100ce565b8062a7029b146100d35780630a7a1c4d146100f15780634665096d1461010f57806351973ec91461012d57806351f910661461014b5780636e832f0714610169575b600080fd5b6100db610231565b6040516100e89190610959565b60405180910390f35b6100f96102bf565b60405161010691906109bc565b60405180910390f35b6101176102e3565b60405161012491906109f0565b60405180910390f35b610135610307565b6040516101429190610a6a565b60405180910390f35b61015361031f565b6040516101609190610a9e565b60405180910390f35b610171610343565b60405161017e9190610ad4565b60405180910390f35b61018f6103d9565b60405161019c9190610b44565b60405180910390f35b6101ad610474565b6040516101ba9190610b87565b60405180910390f35b6101cb610498565b005b6101d56105f0565b6040516101e29190610ad4565b60405180910390f35b6101f3610603565b005b6101fd610820565b60405161020a91906109f0565b60405180910390f35b61021b610826565b60405161022891906109f0565b60405180910390f35b6001805461023e90610bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461026a90610bd1565b80156102b75780601f1061028c576101008083540402835291602001916102b7565b820191906000526020600020905b81548152906001019060200180831161029a57829003601f168201915b505050505081565b7f000000000000000000000000243397295cbb6d2ed679cf68131a67517718535e81565b7f000000000000000000000000000000000000000000000000000000006839c97b81565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7f5c90fcb6ee49b32d13af5ad39ec8cf23bd0ed60bb0123934cc592129efe55c1081565b60007f000000000000000000000000243397295cbb6d2ed679cf68131a67517718535e73ffffffffffffffffffffffffffffffffffffffff16636e832f076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190610c42565b905090565b60607f000000000000000000000000243397295cbb6d2ed679cf68131a67517718535e73ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b8152600401600060405180830381865afa158015610446573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061046f9190610d95565b905090565b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f381565b600260009054906101000a900460ff16156104e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df90610e2a565b60405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f000000000000000000000000be286431454714f511008713973d3b053a2d38f373ffffffffffffffffffffffffffffffffffffffff1663168ccd677f000000000000000000000000243397295cbb6d2ed679cf68131a67517718535e7f5c90fcb6ee49b32d13af5ad39ec8cf23bd0ed60bb0123934cc592129efe55c1060016000546040518563ffffffff1660e01b81526004016105a59493929190610ee3565b6000604051808303816000875af11580156105c4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105ed9190610fd0565b50565b600260009054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000006839c97b421115610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d90611065565b60405180910390fd5b60008054146106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a1906110f7565b60405180910390fd5b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f373ffffffffffffffffffffffffffffffffffffffff16636a42b8f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611143565b42610744919061119f565b6000819055507f000000000000000000000000be286431454714f511008713973d3b053a2d38f373ffffffffffffffffffffffffffffffffffffffff166346d2fbbb7f000000000000000000000000243397295cbb6d2ed679cf68131a67517718535e7f5c90fcb6ee49b32d13af5ad39ec8cf23bd0ed60bb0123934cc592129efe55c1060016000546040518563ffffffff1660e01b81526004016107ec9493929190610ee3565b600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b50505050565b60005481565b60007f000000000000000000000000243397295cbb6d2ed679cf68131a67517718535e73ffffffffffffffffffffffffffffffffffffffff1663bf0fbcec6000546040518263ffffffff1660e01b815260040161088391906109f0565b602060405180830381865afa1580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611143565b905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156109035780820151818401526020810190506108e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061092b826108c9565b61093581856108d4565b93506109458185602086016108e5565b61094e8161090f565b840191505092915050565b600060208201905081810360008301526109738184610920565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109a68261097b565b9050919050565b6109b68161099b565b82525050565b60006020820190506109d160008301846109ad565b92915050565b6000819050919050565b6109ea816109d7565b82525050565b6000602082019050610a0560008301846109e1565b92915050565b6000819050919050565b6000610a30610a2b610a268461097b565b610a0b565b61097b565b9050919050565b6000610a4282610a15565b9050919050565b6000610a5482610a37565b9050919050565b610a6481610a49565b82525050565b6000602082019050610a7f6000830184610a5b565b92915050565b6000819050919050565b610a9881610a85565b82525050565b6000602082019050610ab36000830184610a8f565b92915050565b60008115159050919050565b610ace81610ab9565b82525050565b6000602082019050610ae96000830184610ac5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610b1682610aef565b610b208185610afa565b9350610b308185602086016108e5565b610b398161090f565b840191505092915050565b60006020820190508181036000830152610b5e8184610b0b565b905092915050565b6000610b7182610a37565b9050919050565b610b8181610b66565b82525050565b6000602082019050610b9c6000830184610b78565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610be957607f821691505b602082108103610bfc57610bfb610ba2565b5b50919050565b6000604051905090565b600080fd5b600080fd5b610c1f81610ab9565b8114610c2a57600080fd5b50565b600081519050610c3c81610c16565b92915050565b600060208284031215610c5857610c57610c0c565b5b6000610c6684828501610c2d565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cb18261090f565b810181811067ffffffffffffffff82111715610cd057610ccf610c79565b5b80604052505050565b6000610ce3610c02565b9050610cef8282610ca8565b919050565b600067ffffffffffffffff821115610d0f57610d0e610c79565b5b610d188261090f565b9050602081019050919050565b6000610d38610d3384610cf4565b610cd9565b905082815260208101848484011115610d5457610d53610c74565b5b610d5f8482856108e5565b509392505050565b600082601f830112610d7c57610d7b610c6f565b5b8151610d8c848260208601610d25565b91505092915050565b600060208284031215610dab57610daa610c0c565b5b600082015167ffffffffffffffff811115610dc957610dc8610c11565b5b610dd584828501610d67565b91505092915050565b7f7370656c6c2d616c72656164792d636173740000000000000000000000000000600082015250565b6000610e14601283610afa565b9150610e1f82610dde565b602082019050919050565b60006020820190508181036000830152610e4381610e07565b9050919050565b60008190508160005260206000209050919050565b60008154610e6c81610bd1565b610e7681866108d4565b94506001821660008114610e915760018114610ea757610eda565b60ff198316865281151560200286019350610eda565b610eb085610e4a565b60005b83811015610ed257815481890152600182019150602081019050610eb3565b808801955050505b50505092915050565b6000608082019050610ef860008301876109ad565b610f056020830186610a8f565b8181036040830152610f178185610e5f565b9050610f2660608301846109e1565b95945050505050565b600067ffffffffffffffff821115610f4a57610f49610c79565b5b610f538261090f565b9050602081019050919050565b6000610f73610f6e84610f2f565b610cd9565b905082815260208101848484011115610f8f57610f8e610c74565b5b610f9a8482856108e5565b509392505050565b600082601f830112610fb757610fb6610c6f565b5b8151610fc7848260208601610f60565b91505092915050565b600060208284031215610fe657610fe5610c0c565b5b600082015167ffffffffffffffff81111561100457611003610c11565b5b61101084828501610fa2565b91505092915050565b7f5468697320636f6e747261637420686173206578706972656400000000000000600082015250565b600061104f601983610afa565b915061105a82611019565b602082019050919050565b6000602082019050818103600083015261107e81611042565b9050919050565b7f54686973207370656c6c2068617320616c7265616479206265656e207363686560008201527f64756c6564000000000000000000000000000000000000000000000000000000602082015250565b60006110e1602583610afa565b91506110ec82611085565b604082019050919050565b60006020820190508181036000830152611110816110d4565b9050919050565b611120816109d7565b811461112b57600080fd5b50565b60008151905061113d81611117565b92915050565b60006020828403121561115957611158610c0c565b5b60006111678482850161112e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111aa826109d7565b91506111b5836109d7565b92508282019050808211156111cd576111cc611170565b5b9291505056fea2646970667358221220d3de0af47ed000c403e37acd2b2764b8d21aba2a171bd223e90e5748407a16c364736f6c63430008100033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
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.