Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 12160934 | 1818 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DssSpell
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-04-02
*/
// hevm: flattened sources of src/DssSpell.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.6.12;
////// lib/dss-exec-lib/src/DssExecLib.sol
//
// DssExecLib.sol -- MakerDAO Executive Spellcrafting Library
//
// Copyright (C) 2020 Maker Ecosystem Growth Holdings, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
/* pragma solidity ^0.6.11; */
library DssExecLib {
function setIlkAutoLineDebtCeiling(bytes32, uint256) public {}
function increaseIlkDebtCeiling(bytes32 , uint256 , bool) public {}
function sendPaymentFromSurplusBuffer(address, uint256) public {}
}
////// lib/dss-exec-lib/src/DssAction.sol
//
// DssAction.sol -- DSS Executive Spell Actions
//
// Copyright (C) 2020 Maker Ecosystem Growth Holdings, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
abstract contract DssAction {
using DssExecLib for *;
// Office Hours defaults to true by default.
// To disable office hours, override this function and
// return false in the inherited action.
function officeHours() public 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;
// Modifier required to
modifier limited {
if (officeHours()) {
uint day = (block.timestamp / 1 days + 3) % 7;
require(day < 5, "Can only be cast on a weekday");
uint hour = block.timestamp / 1 hours % 24;
require(hour >= 14 && hour < 21, "Outside office hours");
}
_;
}
}
////// lib/dss-exec-lib/src/DssExec.sol
//
// DssExec.sol -- MakerDAO Executive Spell Template
//
// Copyright (C) 2020 Maker Ecosystem Growth Holdings, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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);
}
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)"
string public description;
function officeHours() external view returns (bool) {
return SpellAction(action).officeHours();
}
function nextCastTime() external view returns (uint256 castTime) {
require(eta != 0, "DssExec/spell-not-scheduled");
castTime = block.timestamp > eta ? block.timestamp : eta; // Any day at XX:YY
if (SpellAction(action).officeHours()) {
uint256 day = (castTime / 1 days + 3) % 7;
uint256 hour = castTime / 1 hours % 24;
uint256 minute = castTime / 1 minutes % 60;
uint256 second = castTime % 60;
if (day >= 5) {
castTime += (6 - day) * 1 days; // Go to Sunday XX:YY
castTime += (24 - hour + 14) * 1 hours; // Go to 14:YY UTC Monday
castTime -= minute * 1 minutes + second; // Go to 14:00 UTC
} else {
if (hour >= 21) {
if (day == 4) castTime += 2 days; // If Friday, fast forward to Sunday XX:YY
castTime += (24 - hour + 14) * 1 hours; // Go to 14:YY UTC next day
castTime -= minute * 1 minutes + second; // Go to 14:00 UTC
} else if (hour < 14) {
castTime += (14 - hour) * 1 hours; // Go to 14:YY UTC same day
castTime -= minute * 1 minutes + second; // Go to 14:00 UTC
}
}
}
}
// @param _description A string description of the spell
// @param _expiration The timestamp this spell will expire. (Ex. now + 30 days)
// @param _spellAction The address of the spell action
constructor(string memory _description, uint256 _expiration, address _spellAction) public {
pause = PauseAbstract(log.getAddress("MCD_PAUSE"));
description = _description;
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(now <= expiration, "This contract has expired");
require(eta == 0, "This spell has already been scheduled");
eta = now + 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);
}
}
////// src/DssSpell.sol
// Copyright (C) 2021 Maker Ecosystem Growth Holdings, INC.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
contract DssSpellAction is DssAction {
// Provides a descriptive tag for bot consumption
// This should be modified weekly to provide a summary of the actions
// Hash: seth keccak -- "$(wget https://raw.githubusercontent.com/makerdao/community/d04bee8084c5724496ef72a0c06d00e2c7b8905e/governance/votes/Executive%20vote%20-%20April%202%2C%202021.md -q -O - 2>/dev/null)"
string public constant description =
"2021-04-02 MakerDAO Executive Spell | Hash: 0xdb1339f86f456759bc4ec97f49b7b10abb86d97bbb9f56577731efd715d978c9";
// Many of the settings that change weekly rely on the rate accumulator
// described at https://docs.makerdao.com/smart-contract-modules/rates-module
// To check this yourself, use the following rate calculation (example 8%):
//
// $ bc -l <<< 'scale=27; e( l(1.08)/(60 * 60 * 24 * 365) )'
//
// A table of rates can be found at
// https://ipfs.io/ipfs/QmefQMseb3AiTapiAKKexdKHig8wroKuZbmLtPLv4u2YwW
//
uint256 constant THOUSAND = 10**3;
uint256 constant MILLION = 10**6;
uint256 constant BILLION = 10**9;
// Core Units Budget Addresses
address constant INTERIM_MULTISIG = 0x73f09254a81e1F835Ee442d1b3262c1f1d7A13ff;
address constant RISK = 0xd98ef20520048a35EdA9A202137847A62120d2d9;
// Disable Office Hours
function officeHours() public override returns (bool) {
return false;
}
function actions() public override {
// Increase the COMP-A Maximum Debt Ceiling from 10M to 30M
DssExecLib.setIlkAutoLineDebtCeiling("COMP-A", 30 * MILLION);
// Increase the ZRX-A Maximum Debt Ceiling from 5M to 10M
DssExecLib.setIlkAutoLineDebtCeiling("ZRX-A", 10 * MILLION);
// Increase the YFI-A Maximum Debt Ceiling from 45M to 75M
DssExecLib.setIlkAutoLineDebtCeiling("YFI-A", 75 * MILLION);
// Increase the PSM-USDC-A Debt Ceiling from 1B to 2B
DssExecLib.increaseIlkDebtCeiling("PSM-USDC-A", 1 * BILLION, true);
// Provide Core Unit Budgets
// Real-World Finance + Governance (Interim Multi-Sig)
DssExecLib.sendPaymentFromSurplusBuffer(INTERIM_MULTISIG, (40 + 80) * THOUSAND);
// Risk
DssExecLib.sendPaymentFromSurplusBuffer(RISK, 100_500);
}
}
contract DssSpell is DssExec {
DssSpellAction internal action_ = new DssSpellAction();
constructor() DssExec(action_.description(), block.timestamp + 30 days, address(action_)) public {}
}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
6101006040526040516200001390620002ca565b604051809103906000f08015801562000030573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b03929092169190911790553480156200005e57600080fd5b506004805460408051633942720b60e11b815290516001600160a01b0390921692637284e416928282019260009290829003018186803b158015620000a257600080fd5b505afa158015620000b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620000e157600080fd5b81019080805160405193929190846401000000008211156200010257600080fd5b9083019060208201858111156200011857600080fd5b82516401000000008111828201881017156200013357600080fd5b82525081516020918201929091019080838360005b838110156200016257818101518382015260200162000148565b50505050905090810190601f168015620001905780820380516001836020036101000a031916815260200191505b506040525050504262278d0001600460009054906101000a90046001600160a01b031673da0ab1e0017debcd72be8599041a2aa3ba7e740f6001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080684d43445f504155534560b81b815250602001905060206040518083038186803b1580156200021857600080fd5b505afa1580156200022d573d6000803e3d6000fd5b505050506040513d60208110156200024457600080fd5b505160601b6001600160601b03191660e05282516200026b906003906020860190620002d8565b5060c08290526001600160601b0319606082901b1660a0526040805160048152602481019091526020810180516001600160e01b0316631851865560e21b1781529051620002bc91600191620002d8565b503f60805250620003749050565b6105c38062000f0083390190565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200031b57805160ff19168380011785556200034b565b828001600101855582156200034b579182015b828111156200034b5782518255916020019190600101906200032e565b50620003599291506200035d565b5090565b5b808211156200035957600081556001016200035e565b60805160a05160601c60c05160e05160601c610b1e620003e2600039806103cf52806104e452806107355280610856525080610287528061068552508061026352806102e9528061045f52806107d6528061098a5250806102c3528061049252806108015250610b1e6000f3fe608060405234801561001057600080fd5b50600436106100ae5760003560e01c8062a7029b146100b35780630a7a1c4d146101305780634665096d1461015457806351973ec91461016e57806351f91066146101765780636e832f071461017e5780637284e4161461019a5780638456cb59146101a257806396d373e5146101aa578063ae8421e1146101b4578063b0604a26146101bc578063f7992d85146101c4578063fe7d47bb146101cc575b600080fd5b6100bb6101d4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610138610261565b604080516001600160a01b039092168252519081900360200190f35b61015c610285565b60408051918252519081900360200190f35b6101386102a9565b61015c6102c1565b6101866102e5565b604080519115158252519081900360200190f35b6100bb610372565b6101386103cd565b6101b26103f1565b005b61018661067a565b6101b2610683565b61015c61091a565b61015c610920565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b820191906000526020600020905b81548152906001019060200180831161023c57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561034057600080fd5b505afa158015610354573d6000803e3d6000fd5b505050506040513d602081101561036a57600080fd5b505190505b90565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff161561043e576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6002805460ff19166001908117825560005460405163168ccd6760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03818116600484019081527f000000000000000000000000000000000000000000000000000000000000000060248501819052606485018690526080604486019081528754600019818a161561010002011698909804608486018190527f0000000000000000000000000000000000000000000000000000000000000000939093169763168ccd6797949691959193909160a40190859080156105695780601f1061053e57610100808354040283529160200191610569565b820191906000526020600020905b81548152906001019060200180831161054c57829003601f168201915b505095505050505050600060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105c957600080fd5b8101908080516040519392919084600160201b8211156105e857600080fd5b9083019060208201858111156105fd57600080fd5b8251600160201b81118282018810171561061657600080fd5b82525081516020918201929091019080838360005b8381101561064357818101518382015260200161062b565b50505050905090810190601f1680156106705780820380516001836020036101000a031916815260200191505b5060405250505050565b60025460ff1681565b7f00000000000000000000000000000000000000000000000000000000000000004211156106f4576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600054156107335760405162461bcd60e51b8152600401808060200182810382526025815260200180610ac46025913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561078c57600080fd5b505afa1580156107a0573d6000803e3d6000fd5b505050506040513d60208110156107b657600080fd5b5051420160008190556040516346d2fbbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000818116600484019081527f0000000000000000000000000000000000000000000000000000000000000000602485018190526064850186905260806044860190815260018054600281831615610100026000190190911604608488018190527f0000000000000000000000000000000000000000000000000000000000000000909616976346d2fbbb97959693959194909390929160a40190859080156108dd5780601f106108b2576101008083540402835291602001916108dd565b820191906000526020600020905b8154815290600101906020018083116108c057829003601f168201915b505095505050505050600060405180830381600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b50505050565b60005481565b60008054610973576040805162461bcd60e51b815260206004820152601b60248201527a111cdcd15e1958cbdcdc195b1b0b5b9bdd0b5cd8da19591d5b1959602a1b604482015290519081900360640190fd5b600054421161098457600054610986565b425b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e157600080fd5b505afa1580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b50511561036f576007620151808204600301066018610e10830406603c80840481900690840660058410610a64578360060362015180028501945082601803600e01610e1002850194508082603c020185039450610abc565b60158310610a9c578360041415610a7e576202a300850194505b82601803600e01610e1002850194508082603c020185039450610abc565b600e831015610abc5782600e03610e1002850194508082603c0201850394505b505050509056fe54686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564a2646970667358221220d658f1fe8885076f2523b9920ade8305847feee2b7052f9a64e8a295910b2b0264736f6c634300060c0033608060405234801561001057600080fd5b506105a3806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806361461954146100515780636e832f071461005b5780637284e41614610077578063f99e36bc146100f4575b600080fd5b6100596100fc565b005b6100636101d8565b604080519115158252519081900360200190f35b61007f6101dd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100b95781810151838201526020016100a1565b50505050905090810190601f1680156100e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100596101f9565b6101046101d8565b156101ce576007620151804204600301066005811061016a576040805162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c792062652063617374206f6e2061207765656b646179000000604482015290519081900360640190fd5b6018610e10420406600e81108015906101835750601581105b6101cb576040805162461bcd60e51b81526020600482015260146024820152734f757473696465206f666669636520686f75727360601b604482015290519081900360640190fd5b50505b6101d66101f9565b565b600090565b6040518060a00160405280606e8152602001610500606e913981565b604080516313f6ee8960e11b815265434f4d502d4160d01b60048201526301c9c38060248201529051739a6c490ba30507e732d61235eff94c26aea234ef916327eddd12916044808301926000929190829003018186803b15801561025d57600080fd5b505af4158015610271573d6000803e3d6000fd5b5050604080516313f6ee8960e11b8152645a52582d4160d81b60048201526298968060248201529051739a6c490ba30507e732d61235eff94c26aea234ef93506327eddd1292506044808301926000929190829003018186803b1580156102d757600080fd5b505af41580156102eb573d6000803e3d6000fd5b5050604080516313f6ee8960e11b8152645946492d4160d81b600482015263047868c060248201529051739a6c490ba30507e732d61235eff94c26aea234ef93506327eddd1292506044808301926000929190829003018186803b15801561035257600080fd5b505af4158015610366573d6000803e3d6000fd5b5050604080516377ca099760e11b81526950534d2d555344432d4160b01b6004820152633b9aca006024820152600160448201529051739a6c490ba30507e732d61235eff94c26aea234ef935063ef94132e92506064808301926000929190829003018186803b1580156103d957600080fd5b505af41580156103ed573d6000803e3d6000fd5b50506040805163b1698f4160e01b81527373f09254a81e1f835ee442d1b3262c1f1d7a13ff60048201526201d4c060248201529051739a6c490ba30507e732d61235eff94c26aea234ef935063b1698f4192506044808301926000929190829003018186803b15801561045f57600080fd5b505af4158015610473573d6000803e3d6000fd5b50506040805163b1698f4160e01b815273d98ef20520048a35eda9a202137847a62120d2d960048201526201889460248201529051739a6c490ba30507e732d61235eff94c26aea234ef935063b1698f4192506044808301926000929190829003018186803b1580156104e557600080fd5b505af41580156104f9573d6000803e3d6000fd5b5050505056fe323032312d30342d3032204d616b657244414f20457865637574697665205370656c6c207c20486173683a20307864623133333966383666343536373539626334656339376634396237623130616262383664393762626239663536353737373331656664373135643937386339a26469706673582212205f65ca0351545b91a3d3d8db76225f98a5204fa638b3be4593255643a7e6647d64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ae5760003560e01c8062a7029b146100b35780630a7a1c4d146101305780634665096d1461015457806351973ec91461016e57806351f91066146101765780636e832f071461017e5780637284e4161461019a5780638456cb59146101a257806396d373e5146101aa578063ae8421e1146101b4578063b0604a26146101bc578063f7992d85146101c4578063fe7d47bb146101cc575b600080fd5b6100bb6101d4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610138610261565b604080516001600160a01b039092168252519081900360200190f35b61015c610285565b60408051918252519081900360200190f35b6101386102a9565b61015c6102c1565b6101866102e5565b604080519115158252519081900360200190f35b6100bb610372565b6101386103cd565b6101b26103f1565b005b61018661067a565b6101b2610683565b61015c61091a565b61015c610920565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b820191906000526020600020905b81548152906001019060200180831161023c57829003601f168201915b505050505081565b7f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c08381565b7f00000000000000000000000000000000000000000000000000000000608ec8b681565b73da0ab1e0017debcd72be8599041a2aa3ba7e740f81565b7ff8e9e4645cf41c72623f2dfbb87fa110216e7d91a53d45b59af0b04cde476bcf81565b60007f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c0836001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b15801561034057600080fd5b505afa158015610354573d6000803e3d6000fd5b505050506040513d602081101561036a57600080fd5b505190505b90565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102595780601f1061022e57610100808354040283529160200191610259565b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f381565b60025460ff161561043e576040805162461bcd60e51b81526020600482015260126024820152711cdc195b1b0b585b1c9958591e4b58d85cdd60721b604482015290519081900360640190fd5b6002805460ff19166001908117825560005460405163168ccd6760e01b81527f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c0836001600160a01b03818116600484019081527ff8e9e4645cf41c72623f2dfbb87fa110216e7d91a53d45b59af0b04cde476bcf60248501819052606485018690526080604486019081528754600019818a161561010002011698909804608486018190527f000000000000000000000000be286431454714f511008713973d3b053a2d38f3939093169763168ccd6797949691959193909160a40190859080156105695780601f1061053e57610100808354040283529160200191610569565b820191906000526020600020905b81548152906001019060200180831161054c57829003601f168201915b505095505050505050600060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105c957600080fd5b8101908080516040519392919084600160201b8211156105e857600080fd5b9083019060208201858111156105fd57600080fd5b8251600160201b81118282018810171561061657600080fd5b82525081516020918201929091019080838360005b8381101561064357818101518382015260200161062b565b50505050905090810190601f1680156106705780820380516001836020036101000a031916815260200191505b5060405250505050565b60025460ff1681565b7f00000000000000000000000000000000000000000000000000000000608ec8b64211156106f4576040805162461bcd60e51b8152602060048201526019602482015278151a1a5cc818dbdb9d1c9858dd081a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600054156107335760405162461bcd60e51b8152600401808060200182810382526025815260200180610ac46025913960400191505060405180910390fd5b7f000000000000000000000000be286431454714f511008713973d3b053a2d38f36001600160a01b0316636a42b8f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561078c57600080fd5b505afa1580156107a0573d6000803e3d6000fd5b505050506040513d60208110156107b657600080fd5b5051420160008190556040516346d2fbbb60e01b81526001600160a01b037f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c083818116600484019081527ff8e9e4645cf41c72623f2dfbb87fa110216e7d91a53d45b59af0b04cde476bcf602485018190526064850186905260806044860190815260018054600281831615610100026000190190911604608488018190527f000000000000000000000000be286431454714f511008713973d3b053a2d38f3909616976346d2fbbb97959693959194909390929160a40190859080156108dd5780601f106108b2576101008083540402835291602001916108dd565b820191906000526020600020905b8154815290600101906020018083116108c057829003601f168201915b505095505050505050600060405180830381600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b50505050565b60005481565b60008054610973576040805162461bcd60e51b815260206004820152601b60248201527a111cdcd15e1958cbdcdc195b1b0b5b9bdd0b5cd8da19591d5b1959602a1b604482015290519081900360640190fd5b600054421161098457600054610986565b425b90507f00000000000000000000000037e42c2b1006de2194483869f1357bed4c01c0836001600160a01b0316636e832f076040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e157600080fd5b505afa1580156109f5573d6000803e3d6000fd5b505050506040513d6020811015610a0b57600080fd5b50511561036f576007620151808204600301066018610e10830406603c80840481900690840660058410610a64578360060362015180028501945082601803600e01610e1002850194508082603c020185039450610abc565b60158310610a9c578360041415610a7e576202a300850194505b82601803600e01610e1002850194508082603c020185039450610abc565b600e831015610abc5782600e03610e1002850194508082603c0201850394505b505050509056fe54686973207370656c6c2068617320616c7265616479206265656e207363686564756c6564a2646970667358221220d658f1fe8885076f2523b9920ade8305847feee2b7052f9a64e8a295910b2b0264736f6c634300060c0033
Deployed Bytecode Sourcemap
11100:199:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4741:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4865:37;;;:::i;:::-;;;;-1:-1:-1;;;;;4865:37:0;;;;;;;;;;;;;;4909:41;;;:::i;:::-;;;;;;;;;;;;;;;;4601:92;;;:::i;4824:34::-;;;:::i;5282:111::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;5231:42;;;:::i;4957:36::-;;;:::i;7836:144::-;;;:::i;:::-;;4782:35;;;:::i;7563:265::-;;;:::i;4700:34::-;;;:::i;5401:1385::-;;;:::i;4741:34::-;;;;;;;;;;;;;;;-1:-1:-1;;4741:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4865:37::-;;;:::o;4909:41::-;;;:::o;4601:92::-;4650:42;4601:92;:::o;4824:34::-;;;:::o;5282:111::-;5328:4;5364:6;-1:-1:-1;;;;;5352:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5352:33:0;;-1:-1:-1;5282:111:0;;:::o;5231:42::-;;;;;;;;;;;;;;;-1:-1:-1;;5231:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4957:36;;;:::o;7836:144::-;7879:4;;;;7878:5;7870:36;;;;;-1:-1:-1;;;7870:36:0;;;;;;;;;;;;-1:-1:-1;;;7870:36:0;;;;;;;;;;;;;;;7917:4;:11;;-1:-1:-1;;7917:11:0;7924:4;7917:11;;;;;:4;7968:3;7939:33;;-1:-1:-1;;;7939:33:0;;7950:6;-1:-1:-1;;;;;7939:33:0;;;;;;;;;7958:3;7939:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7939:33:0;;;;7917:11;7939:33;;;;;;;;;;;;;:5;:10;;;;;;;7950:6;;7958:3;;7968;;7939:33;;;;;7924:4;;7939:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7939:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7939:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7939:33:0;;;;;;-1:-1:-1;7939:33:0;;;;;;;;;;-1:-1:-1;7939:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7836:144::o;4782:35::-;;;;;;:::o;7563:265::-;7616:10;7609:3;:17;;7601:55;;;;;-1:-1:-1;;;7601:55:0;;;;;;;;;;;;-1:-1:-1;;;7601:55:0;;;;;;;;;;;;;;;7675:3;;:8;7667:58;;;;-1:-1:-1;;;7667:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7762:5;-1:-1:-1;;;;;7748:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7748:28:0;7742:3;:34;7736:3;:40;;;7787:33;;-1:-1:-1;;;7787:33:0;;-1:-1:-1;;;;;7798:6:0;7787:33;;;;;;;;;7806:3;7787:33;;;;;;;;;;;;;;;;;;;7811:3;7787:33;;;;;;;;;-1:-1:-1;;7787:33:0;;;;;;;;;;;:5;:10;;;;;;7798:6;;7806:3;;7811;;7742:34;;7787:33;;;;;;7811:3;;7787:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7563:265::o;4700:34::-;;;;:::o;5401:1385::-;5448:16;5485:3;;5477:48;;;;;-1:-1:-1;;;5477:48:0;;;;;;;;;;;;-1:-1:-1;;;5477:48:0;;;;;;;;;;;;;;;5565:3;;5547:15;:21;:45;;5589:3;;5547:45;;;5571:15;5547:45;5536:56;;5641:6;-1:-1:-1;;;;;5629:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5629:33:0;5625:1154;;;5722:1;5708:6;5697:17;;5717:1;5697:21;5696:27;5776:2;5766:7;5755:18;;:23;5833:2;5810:20;;;:25;;;;5867:13;;5908:1;5901:8;;5897:871;;5947:3;5943:1;:7;5954:6;5942:18;5930:30;;;;6035:4;6030:2;:9;6042:2;6030:14;6048:7;6029:26;6017:38;;;;6141:6;6120;6129:9;6120:18;:27;6108:39;;;;5897:871;;;6226:2;6218:4;:10;6214:539;;6257:3;6264:1;6257:8;6253:32;;;6279:6;6267:18;;;;6253:32;6379:4;6374:2;:9;6386:2;6374:14;6392:7;6373:26;6361:38;;;;6487:6;6466;6475:9;6466:18;:27;6454:39;;;;6214:539;;;6552:2;6545:4;:9;6541:212;;;6597:4;6592:2;:9;6605:7;6591:21;6579:33;;;;6705:6;6684;6693:9;6684:18;:27;6672:39;;;;6541:212;5625:1154;;;;5401:1385;:::o
Swarm Source
ipfs://5f65ca0351545b91a3d3d8db76225f98a5204fa638b3be4593255643a7e6647d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.