Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x60806040 | 23274504 | 105 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Pot
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 200 runs
Other Settings:
istanbul EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-or-later /// pot.sol -- Usdd Savings Rate // Copyright (C) 2018 Rain <[email protected]> // // 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.12; /* "Savings Usdd" is obtained when Usdd is deposited into this contract. Each "Savings Usdd" accrues Usdd interest at the "Usdd Savings Rate". This contract does not implement a user tradeable token and is intended to be used with adapters. --- `save` your `usdd` in the `pot` --- - `dsr`: the Usdd Savings Rate - `pie`: user balance of Savings Usdd - `join`: start saving some usdd - `exit`: remove some usdd - `drip`: perform rate collection */ interface VatLike { function move(address,address,uint256) external; function suck(address,address,uint256) external; } contract Pot { // --- Auth --- mapping (address => uint) public wards; function rely(address guy) external auth { wards[guy] = 1; emit Rely(guy); } function deny(address guy) external auth { wards[guy] = 0; emit Deny(guy); } modifier auth { require(wards[msg.sender] == 1, "Pot/not-authorized"); _; } // --- Data --- mapping (address => uint256) public pie; // Normalised Savings Usdd [wad] uint256 public Pie; // Total Normalised Savings Usdd [wad] uint256 public dsr; // The Usdd Savings Rate [ray] uint256 public chi; // The Rate Accumulator [ray] VatLike public vat; // CDP Engine address public vow; // Debt Engine uint256 public rho; // Time of last drip [unix epoch time] uint256 public live; // Active Flag // --- Events --- event Rely(address indexed usr); event Deny(address indexed usr); event File(bytes32 what, uint256 data); event File(bytes32 what, address data); event Cage(); event Drip(uint256 chi, uint256 rho); event Join(address indexed usr, uint256 wad, uint256 chi); event Exit(address indexed usr, uint256 wad, uint256 chi); // --- Init --- constructor(address vat_) public { wards[msg.sender] = 1; vat = VatLike(vat_); dsr = ONE; chi = ONE; rho = now; live = 1; } // --- Math --- uint256 constant ONE = 10 ** 27; function _rpow(uint x, uint n, uint base) internal pure returns (uint z) { assembly { switch x case 0 {switch n case 0 {z := base} default {z := 0}} default { switch mod(n, 2) case 0 { z := base } default { z := x } let half := div(base, 2) // for rounding. for { n := div(n, 2) } n { n := div(n,2) } { let xx := mul(x, x) if iszero(eq(div(xx, x), x)) { revert(0,0) } let xxRound := add(xx, half) if lt(xxRound, xx) { revert(0,0) } x := div(xxRound, base) if mod(n,2) { let zx := mul(z, x) if and(iszero(iszero(x)), iszero(eq(div(zx, x), z))) { revert(0,0) } let zxRound := add(zx, half) if lt(zxRound, zx) { revert(0,0) } z := div(zxRound, base) } } } } } function _rmul(uint x, uint y) internal pure returns (uint z) { z = _mul(x, y) / ONE; } function _add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x); } function _sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x); } function _mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x); } // --- Administration --- function file(bytes32 what, uint256 data) external auth { require(live == 1, "Pot/not-live"); require(now == rho, "Pot/rho-not-updated"); if (what == "dsr") dsr = data; else revert("Pot/file-unrecognized-param"); emit File(what, data); } function file(bytes32 what, address addr) external auth { if (what == "vow") vow = addr; else revert("Pot/file-unrecognized-param"); emit File(what, addr); } function cage() external auth { live = 0; dsr = ONE; emit Cage(); } // --- Savings Rate Accumulation --- function drip() external returns (uint tmp) { require(now >= rho, "Pot/invalid-now"); tmp = _rmul(_rpow(dsr, now - rho, ONE), chi); uint chi_ = _sub(tmp, chi); chi = tmp; rho = now; vat.suck(address(vow), address(this), _mul(Pie, chi_)); emit Drip(chi, rho); } // --- Savings Usdd Management --- function join(uint wad) external { require(now == rho, "Pot/rho-not-updated"); pie[msg.sender] = _add(pie[msg.sender], wad); Pie = _add(Pie, wad); vat.move(msg.sender, address(this), _mul(chi, wad)); emit Join(msg.sender, wad, chi); } function exit(uint wad) external { pie[msg.sender] = _sub(pie[msg.sender], wad); Pie = _sub(Pie, wad); vat.move(address(this), msg.sender, _mul(chi, wad)); emit Exit(msg.sender, wad, chi); } }
{
"remappings": [
"ds-test/=lib/ds-auth/lib/ds-test/src/",
"ds-thing/=lib/ds-value/lib/ds-thing/src/",
"ds-value/=lib/ds-value/src/",
"forge-std/=lib/forge-std/src/",
"psm/=lib/psm/src/",
"ds-token/=lib/ds-token/src/",
"ds-auth/=lib/ds-auth/src/",
"erc4626-tests/=lib/erc4626-tests/",
"ds-math/=lib/ds-token/lib/ds-math/src/",
"ds-note/=lib/ds-value/lib/ds-thing/lib/ds-note/src/",
"usddv2/=lib/psm/lib/usddv2/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "istanbul"
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"vat_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Cage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Deny","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"chi","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rho","type":"uint256"}],"name":"Drip","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chi","type":"uint256"}],"name":"Exit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"File","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"File","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chi","type":"uint256"}],"name":"Join","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"Rely","type":"event"},{"inputs":[],"name":"Pie","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"chi","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"drip","outputs":[{"internalType":"uint256","name":"tmp","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dsr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"join","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"live","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pie","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rho","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vat","outputs":[{"internalType":"contract VatLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50604051610d0a380380610d0a8339818101604052602081101561003357600080fd5b5051336000908152602081905260409020600190819055600580546001600160a01b039093166001600160a01b0319909316929092179091556b033b2e3c9fd0803ce8000000600381905560045542600755600855610c73806100976000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806365fae35e116100a25780639c52a7f1116100715780639c52a7f1146102215780639f678cca14610247578063bf353dbb1461024f578063c92aecc414610275578063d4e8be831461027d5761010b565b806365fae35e146101ce57806369245009146101f45780637f8661a1146101fc578063957aa58c146102195761010b565b80632c69ed58116100de5780632c69ed581461019257806336569e771461019a578063487bf082146101be578063626cb3c5146101c65761010b565b8063049878f3146101105780630bebac861461012f57806320aba08b1461016757806329ae81141461016f575b600080fd5b61012d6004803603602081101561012657600080fd5b50356102a9565b005b6101556004803603602081101561014557600080fd5b50356001600160a01b0316610405565b60408051918252519081900360200190f35b610155610417565b61012d6004803603604081101561018557600080fd5b508035906020013561041d565b6101556105ac565b6101a26105b2565b604080516001600160a01b039092168252519081900360200190f35b6101556105c1565b6101a26105c7565b61012d600480360360208110156101e457600080fd5b50356001600160a01b03166105d6565b61012d610674565b61012d6004803603602081101561021257600080fd5b503561070d565b61015561081d565b61012d6004803603602081101561023757600080fd5b50356001600160a01b0316610823565b6101556108c0565b6101556004803603602081101561026557600080fd5b50356001600160a01b0316610a2c565b610155610a3e565b61012d6004803603604081101561029357600080fd5b50803590602001356001600160a01b0316610a44565b60075442146102f5576040805162461bcd60e51b8152602060048201526013602482015272141bdd0bdc9a1bcb5b9bdd0b5d5c19185d1959606a1b604482015290519081900360640190fd5b3360009081526001602052604090205461030f9082610b0d565b3360009081526001602052604090205560025461032c9082610b0d565b6002556005546004546001600160a01b039091169063bb35783b90339030906103559086610b23565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156103ab57600080fd5b505af11580156103bf573d6000803e3d6000fd5b505060045460408051858152602081019290925280513394507fbca387acb0ba7d06e329c4372885bb664f19a98153ccf3e74e56c136bf0e88c49350918290030190a250565b60016020526000908152604090205481565b60075481565b33600090815260208190526040902054600114610476576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6008546001146104bc576040805162461bcd60e51b815260206004820152600c60248201526b506f742f6e6f742d6c69766560a01b604482015290519081900360640190fd5b6007544214610508576040805162461bcd60e51b8152602060048201526013602482015272141bdd0bdc9a1bcb5b9bdd0b5d5c19185d1959606a1b604482015290519081900360640190fd5b81623239b960e91b141561052057600381905561056d565b6040805162461bcd60e51b815260206004820152601b60248201527f506f742f66696c652d756e7265636f676e697a65642d706172616d0000000000604482015290519081900360640190fd5b604080518381526020810183905281517fe986e40cc8c151830d4f61050f4fb2e4add8567caad2d5f5496f9158e91fe4c7929181900390910190a15050565b60025481565b6005546001600160a01b031681565b60035481565b6006546001600160a01b031681565b3360009081526020819052604090205460011461062f576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b336000908152602081905260409020546001146106cd576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b600060088190556b033b2e3c9fd0803ce80000006003556040517f2308ed18a14e800c39b86eb6ea43270105955ca385b603b64eca89f98ae8fbda9190a1565b336000908152600160205260409020546107279082610b47565b336000908152600160205260409020556002546107449082610b47565b6002556005546004546001600160a01b039091169063bb35783b903090339061076d9086610b23565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b505060045460408051858152602081019290925280513394507fbe0b6e5b3195df91f2e6b2b20501f84b085714f9e38073f499073c83056510099350918290030190a250565b60085481565b3360009081526020819052604090205460011461087c576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b600060075442101561090b576040805162461bcd60e51b815260206004820152600f60248201526e506f742f696e76616c69642d6e6f7760881b604482015290519081900360640190fd5b61093361092b60035460075442036b033b2e3c9fd0803ce8000000610b57565b600454610c15565b9050600061094382600454610b47565b6004839055426007556005546006546002549293506001600160a01b039182169263f24e23eb9290911690309061097a9086610b23565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156109d057600080fd5b505af11580156109e4573d6000803e3d6000fd5b505060045460075460408051928352602083019190915280517fad1e8a53178522eb68a9d94d862bf30c841f709d2115f743eb6b34528751c79f945091829003019150a15090565b60006020819052908152604090205481565b60045481565b33600090815260208190526040902054600114610a9d576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b8162766f7760e81b141561052057600680546001600160a01b0319166001600160a01b038316179055604080518381526001600160a01b038316602082015281517f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba929181900390910190a15050565b80820182811015610b1d57600080fd5b92915050565b6000811580610b3e57505080820282828281610b3b57fe5b04145b610b1d57600080fd5b80820382811115610b1d57600080fd5b6000838015610bf757600184168015610b7257859250610b76565b8392505b50600283046002850494505b8415610bf1578586028687820414610b9957600080fd5b81810181811015610ba957600080fd5b8590049650506001851615610be6578583028387820414158715151615610bcf57600080fd5b81810181811015610bdf57600080fd5b8590049350505b600285049450610b82565b50610c0d565b838015610c075760009250610c0b565b8392505b505b509392505050565b60006b033b2e3c9fd0803ce8000000610c2e8484610b23565b81610c3557fe5b04939250505056fea2646970667358221220c09fdfb1ab9487c7867f2fd56f5837bb5d0cb8f23fb69b0d5cd2294a58f4db7f64736f6c634300060c0033000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806365fae35e116100a25780639c52a7f1116100715780639c52a7f1146102215780639f678cca14610247578063bf353dbb1461024f578063c92aecc414610275578063d4e8be831461027d5761010b565b806365fae35e146101ce57806369245009146101f45780637f8661a1146101fc578063957aa58c146102195761010b565b80632c69ed58116100de5780632c69ed581461019257806336569e771461019a578063487bf082146101be578063626cb3c5146101c65761010b565b8063049878f3146101105780630bebac861461012f57806320aba08b1461016757806329ae81141461016f575b600080fd5b61012d6004803603602081101561012657600080fd5b50356102a9565b005b6101556004803603602081101561014557600080fd5b50356001600160a01b0316610405565b60408051918252519081900360200190f35b610155610417565b61012d6004803603604081101561018557600080fd5b508035906020013561041d565b6101556105ac565b6101a26105b2565b604080516001600160a01b039092168252519081900360200190f35b6101556105c1565b6101a26105c7565b61012d600480360360208110156101e457600080fd5b50356001600160a01b03166105d6565b61012d610674565b61012d6004803603602081101561021257600080fd5b503561070d565b61015561081d565b61012d6004803603602081101561023757600080fd5b50356001600160a01b0316610823565b6101556108c0565b6101556004803603602081101561026557600080fd5b50356001600160a01b0316610a2c565b610155610a3e565b61012d6004803603604081101561029357600080fd5b50803590602001356001600160a01b0316610a44565b60075442146102f5576040805162461bcd60e51b8152602060048201526013602482015272141bdd0bdc9a1bcb5b9bdd0b5d5c19185d1959606a1b604482015290519081900360640190fd5b3360009081526001602052604090205461030f9082610b0d565b3360009081526001602052604090205560025461032c9082610b0d565b6002556005546004546001600160a01b039091169063bb35783b90339030906103559086610b23565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156103ab57600080fd5b505af11580156103bf573d6000803e3d6000fd5b505060045460408051858152602081019290925280513394507fbca387acb0ba7d06e329c4372885bb664f19a98153ccf3e74e56c136bf0e88c49350918290030190a250565b60016020526000908152604090205481565b60075481565b33600090815260208190526040902054600114610476576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6008546001146104bc576040805162461bcd60e51b815260206004820152600c60248201526b506f742f6e6f742d6c69766560a01b604482015290519081900360640190fd5b6007544214610508576040805162461bcd60e51b8152602060048201526013602482015272141bdd0bdc9a1bcb5b9bdd0b5d5c19185d1959606a1b604482015290519081900360640190fd5b81623239b960e91b141561052057600381905561056d565b6040805162461bcd60e51b815260206004820152601b60248201527f506f742f66696c652d756e7265636f676e697a65642d706172616d0000000000604482015290519081900360640190fd5b604080518381526020810183905281517fe986e40cc8c151830d4f61050f4fb2e4add8567caad2d5f5496f9158e91fe4c7929181900390910190a15050565b60025481565b6005546001600160a01b031681565b60035481565b6006546001600160a01b031681565b3360009081526020819052604090205460011461062f576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b336000908152602081905260409020546001146106cd576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b600060088190556b033b2e3c9fd0803ce80000006003556040517f2308ed18a14e800c39b86eb6ea43270105955ca385b603b64eca89f98ae8fbda9190a1565b336000908152600160205260409020546107279082610b47565b336000908152600160205260409020556002546107449082610b47565b6002556005546004546001600160a01b039091169063bb35783b903090339061076d9086610b23565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156107c357600080fd5b505af11580156107d7573d6000803e3d6000fd5b505060045460408051858152602081019290925280513394507fbe0b6e5b3195df91f2e6b2b20501f84b085714f9e38073f499073c83056510099350918290030190a250565b60085481565b3360009081526020819052604090205460011461087c576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b600060075442101561090b576040805162461bcd60e51b815260206004820152600f60248201526e506f742f696e76616c69642d6e6f7760881b604482015290519081900360640190fd5b61093361092b60035460075442036b033b2e3c9fd0803ce8000000610b57565b600454610c15565b9050600061094382600454610b47565b6004839055426007556005546006546002549293506001600160a01b039182169263f24e23eb9290911690309061097a9086610b23565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156109d057600080fd5b505af11580156109e4573d6000803e3d6000fd5b505060045460075460408051928352602083019190915280517fad1e8a53178522eb68a9d94d862bf30c841f709d2115f743eb6b34528751c79f945091829003019150a15090565b60006020819052908152604090205481565b60045481565b33600090815260208190526040902054600114610a9d576040805162461bcd60e51b8152602060048201526012602482015271141bdd0bdb9bdd0b585d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b8162766f7760e81b141561052057600680546001600160a01b0319166001600160a01b038316179055604080518381526001600160a01b038316602082015281517f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba929181900390910190a15050565b80820182811015610b1d57600080fd5b92915050565b6000811580610b3e57505080820282828281610b3b57fe5b04145b610b1d57600080fd5b80820382811115610b1d57600080fd5b6000838015610bf757600184168015610b7257859250610b76565b8392505b50600283046002850494505b8415610bf1578586028687820414610b9957600080fd5b81810181811015610ba957600080fd5b8590049650506001851615610be6578583028387820414158715151615610bcf57600080fd5b81810181811015610bdf57600080fd5b8590049350505b600285049450610b82565b50610c0d565b838015610c075760009250610c0b565b8392505b505b509392505050565b60006b033b2e3c9fd0803ce8000000610c2e8484610b23565b81610c3557fe5b04939250505056fea2646970667358221220c09fdfb1ab9487c7867f2fd56f5837bb5d0cb8f23fb69b0d5cd2294a58f4db7f64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f
-----Decoded View---------------
Arg [0] : vat_ (address): 0xFf77F6209239DEB2c076179499f2346b0032097f
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ff77f6209239deb2c076179499f2346b0032097f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 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.