ETH Price: $2,759.86 (+2.36%)
Gas: 1.38 Gwei

Contract

0x44FBF73a97cf50640A3208b883F810F730D80c2B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
Age
From
To
Mint With Token126756182021-06-21 4:50:181337 days ago1624251018IN
0x44FBF73a...730D80c2B
0 ETH0.0457950235.57500083
Mint With ETH108617202020-09-14 18:22:341616 days ago1600107754IN
0x44FBF73a...730D80c2B
0.4 ETH0.0977130690.98000148
Mint With ETH107464542020-08-28 2:28:371634 days ago1598581717IN
0x44FBF73a...730D80c2B
0.2 ETH0.0566308346
Mint With ETH106169892020-08-08 4:23:111654 days ago1596860591IN
0x44FBF73a...730D80c2B
0.01 ETH0.0573287249
Mint With ETH105844452020-08-03 3:41:481659 days ago1596426108IN
0x44FBF73a...730D80c2B
0.01 ETH0.0543359548
Burn To ETH103676052020-06-30 14:18:161692 days ago1593526696IN
0x44FBF73a...730D80c2B
0 ETH0.0383621438.800003
Burn To ETH103674192020-06-30 13:37:151692 days ago1593524235IN
0x44FBF73a...730D80c2B
0 ETH0.0622042262
Mint With ETH103673952020-06-30 13:31:491692 days ago1593523909IN
0x44FBF73a...730D80c2B
0.05 ETH0.0611818860
Burn To ETH103672792020-06-30 13:07:561692 days ago1593522476IN
0x44FBF73a...730D80c2B
0 ETH0.0501632664
Mint With Token103330142020-06-25 5:25:291698 days ago1593062729IN
0x44FBF73a...730D80c2B
0 ETH0.0766341644.5
Mint With ETH102871312020-06-18 2:55:541705 days ago1592448954IN
0x44FBF73a...730D80c2B
0.04 ETH0.0322361130
Burn To Token102547642020-06-13 2:52:381710 days ago1592016758IN
0x44FBF73a...730D80c2B
0 ETH0.0322590621.00000123
Burn To ETH102502652020-06-12 10:13:071711 days ago1591956787IN
0x44FBF73a...730D80c2B
0 ETH0.0316426133.00000123
Burn To ETH102502342020-06-12 10:08:211711 days ago1591956501IN
0x44FBF73a...730D80c2B
0 ETH0.022157931
Burn To ETH102428712020-06-11 6:46:011712 days ago1591857961IN
0x44FBF73a...730D80c2B
0 ETH0.024087625
Mint With ETH101856642020-06-02 9:47:581721 days ago1591091278IN
0x44FBF73a...730D80c2B
1 ETH0.0196350420
Mint With ETH101855932020-06-02 9:32:261721 days ago1591090346IN
0x44FBF73a...730D80c2B
0.01 ETH0.0196082820
Mint With ETH101854332020-06-02 8:57:311721 days ago1591088251IN
0x44FBF73a...730D80c2B
0.01 ETH0.0199295220
Mint With ETH101853212020-06-02 8:35:091721 days ago1591086909IN
0x44FBF73a...730D80c2B
0.2 ETH0.0302538830.8
Mint With ETH101846812020-06-02 6:12:061721 days ago1591078326IN
0x44FBF73a...730D80c2B
0.01 ETH0.0204967420
Burn To ETH100596792020-05-13 19:23:181740 days ago1589397798IN
0x44FBF73a...730D80c2B
0 ETH0.0194529619
Burn To Token100252082020-05-08 11:06:331745 days ago1588935993IN
0x44FBF73a...730D80c2B
0 ETH0.0284709918
Burn To Token100251092020-05-08 10:47:241745 days ago1588934844IN
0x44FBF73a...730D80c2B
0 ETH0.020906313.2
Burn To ETH100250892020-05-08 10:42:421745 days ago1588934562IN
0x44FBF73a...730D80c2B
0 ETH0.0123562512
Burn To ETH100250702020-05-08 10:37:481745 days ago1588934268IN
0x44FBF73a...730D80c2B
0 ETH0.0106919910.84375
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
Age
From
To
108617202020-09-14 18:22:341616 days ago1600107754
0x44FBF73a...730D80c2B
0.4 ETH
107464542020-08-28 2:28:371634 days ago1598581717
0x44FBF73a...730D80c2B
0.2 ETH
106169892020-08-08 4:23:111654 days ago1596860591
0x44FBF73a...730D80c2B
0.01 ETH
105844452020-08-03 3:41:481659 days ago1596426108
0x44FBF73a...730D80c2B
0.01 ETH
103676052020-06-30 14:18:161692 days ago1593526696
0x44FBF73a...730D80c2B
0.04448615 ETH
103676052020-06-30 14:18:161692 days ago1593526696
0x44FBF73a...730D80c2B
0.04448615 ETH
103674192020-06-30 13:37:151692 days ago1593524235
0x44FBF73a...730D80c2B
0.02233125 ETH
103674192020-06-30 13:37:151692 days ago1593524235
0x44FBF73a...730D80c2B
0.02233125 ETH
103673952020-06-30 13:31:491692 days ago1593523909
0x44FBF73a...730D80c2B
0.05 ETH
102871312020-06-18 2:55:541705 days ago1592448954
0x44FBF73a...730D80c2B
0.04 ETH
102502652020-06-12 10:13:071711 days ago1591956787
0x44FBF73a...730D80c2B
0.4176459 ETH
102502652020-06-12 10:13:071711 days ago1591956787
0x44FBF73a...730D80c2B
0.4176459 ETH
102428712020-06-11 6:46:011712 days ago1591857961
0x44FBF73a...730D80c2B
0.04043461 ETH
102428712020-06-11 6:46:011712 days ago1591857961
0x44FBF73a...730D80c2B
0.04043461 ETH
101856642020-06-02 9:47:581721 days ago1591091278
0x44FBF73a...730D80c2B
1 ETH
101855932020-06-02 9:32:261721 days ago1591090346
0x44FBF73a...730D80c2B
0.01 ETH
101854332020-06-02 8:57:311721 days ago1591088251
0x44FBF73a...730D80c2B
0.01 ETH
101853212020-06-02 8:35:091721 days ago1591086909
0x44FBF73a...730D80c2B
0.2 ETH
101846812020-06-02 6:12:061721 days ago1591078326
0x44FBF73a...730D80c2B
0.01 ETH
100596792020-05-13 19:23:181740 days ago1589397798
0x44FBF73a...730D80c2B
0.10100137 ETH
100596792020-05-13 19:23:181740 days ago1589397798
0x44FBF73a...730D80c2B
0.10100137 ETH
100250892020-05-08 10:42:421745 days ago1588934562
0x44FBF73a...730D80c2B
0.04740695 ETH
100250892020-05-08 10:42:421745 days ago1588934562
0x44FBF73a...730D80c2B
0.04740695 ETH
100057832020-05-05 10:44:581748 days ago1588675498
0x44FBF73a...730D80c2B
0.05 ETH
99845742020-05-02 4:17:471752 days ago1588393067
0x44FBF73a...730D80c2B
0.02368718 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PooledCDAIKyberExtension

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 17 : PooledCDAIKyberExtension.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
import "../PooledCDAI.sol";
import "../interfaces/KyberNetworkProxy.sol";
import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
/**
@dev An extension to PooledCDAI that enables minting & burning pcDAI using ETH & ERC20 tokens
supported by Kyber Network, rather than just DAI. There's no need to deploy one for each pool,
since it uses pcDAI as a black box.
*/
contract PooledCDAIKyberExtension {
using SafeERC20 for ERC20;
using SafeERC20 for PooledCDAI;
using SafeMath for uint256;
address public constant DAI_ADDRESS = 0x6B175474E89094C44Da98b954EedeAC495271d0F;
address public constant KYBER_ADDRESS = 0x818E6FECD516Ecc3849DAf6845e3EC868087B755;
ERC20 internal constant ETH_TOKEN_ADDRESS = ERC20(
0x00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
);
bytes internal constant PERM_HINT = "PERM"; // Only use permissioned reserves from Kyber
uint256 internal constant MAX_QTY = (10**28); // 10B tokens
function mintWithETH(PooledCDAI pcDAI, address to)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 17 : PooledCDAI.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
pragma experimental ABIEncoderV2;
import "@openzeppelin/contracts/math/SafeMath.sol";
import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/ownership/Ownable.sol";
import "./interfaces/CERC20.sol";
contract PooledCDAI is ERC20, Ownable {
using SafeERC20 for ERC20;
using SafeMath for uint256;
uint256 internal constant PRECISION = 10**18;
uint256 internal constant ERR_CODE_OK = 0;
CERC20 public constant cDAI = CERC20(
0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643
);
ERC20 public constant dai = ERC20(
0x6B175474E89094C44Da98b954EedeAC495271d0F
);
string private _name;
string private _symbol;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 17 : SafeMath.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.0;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 17 : SafeERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.0;
import "./IERC20.sol";
import "../../math/SafeMath.sol";
import "../../utils/Address.sol";
/**
* @title SafeERC20
* @dev Wrappers around ERC20 operations that throw on failure (when the token
* contract returns false). Tokens that return no value (and instead revert or
* throw on failure) are also supported, non-reverting calls are assumed to be
* successful.
* To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20 {
using SafeMath for uint256;
using Address for address;
function safeTransfer(IERC20 token, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 17 : IERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP. Does not include
* the optional functions; to access them see {ERC20Detailed}.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 17 : Address.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.5;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContract(address account) internal view returns (bool) {
// According to EIP-1052, 0x0 is the value returned for not-yet created accounts
// and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 17 : ERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.0;
import "../../GSN/Context.sol";
import "./IERC20.sol";
import "../../math/SafeMath.sol";
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20Mintable}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin guidelines: functions revert instead
* of returning `false` on failure. This behavior is nonetheless conventional
* and does not conflict with the expectations of ERC20 applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
* This allows applications to reconstruct the allowance for all accounts just
* by listening to said events. Other implementations of the EIP may not emit
* these events, as it isn't required by the specification.
*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 17 : Context.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.0;
/*
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with GSN meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
contract Context {
// Empty internal constructor, to prevent people from mistakenly deploying
// an instance of this contract, which should be used via inheritance.
constructor () internal { }
// solhint-disable-previous-line no-empty-blocks
function _msgSender() internal view returns (address payable) {
return msg.sender;
}
function _msgData() internal view returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 17 : Ownable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.5.0;
import "../GSN/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor () internal {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 17 : CERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
// Compound finance ERC20 market interface
interface CERC20 {
function mint(uint256 mintAmount) external returns (uint256);
function redeemUnderlying(uint256 redeemAmount) external returns (uint256);
function borrow(uint256 borrowAmount) external returns (uint256);
function repayBorrow(uint256 repayAmount) external returns (uint256);
function borrowBalanceCurrent(address account) external returns (uint256);
function exchangeRateCurrent() external returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function balanceOf(address account) external view returns (uint256);
function decimals() external view returns (uint256);
function underlying() external view returns (address);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 17 : KyberNetworkProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
pragma solidity 0.5.17;
/**
* @title The interface for the KyberNetworkProxy smart contract
*/
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
interface KyberNetworkProxy {
function getExpectedRate(ERC20 src, ERC20 dest, uint256 srcQty)
external
view
returns (uint256 expectedRate, uint256 slippageRate);
function tradeWithHint(
ERC20 src,
uint256 srcAmount,
ERC20 dest,
address payable destAddress,
uint256 maxDestAmount,
uint256 minConversionRate,
address walletId,
bytes calldata hint
) external payable returns (uint256);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 17 : CloneFactory.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
/*
The MIT License (MIT)
Copyright (c) 2018 Murray Software, LLC.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 17 : MetadataPooledCDAIFactory.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
pragma experimental ABIEncoderV2;
import "./PooledCDAIFactory.sol";
contract MetadataPooledCDAIFactory is PooledCDAIFactory {
event CreatePoolWithMetadata(
address sender,
address pool,
bool indexed renounceOwnership,
bytes metadata
);
constructor(address _libraryAddress)
public
PooledCDAIFactory(_libraryAddress)
{}
function createPCDAIWithMetadata(
string calldata name,
string calldata symbol,
PooledCDAI.Beneficiary[] calldata beneficiaries,
bool renounceOwnership,
bytes calldata metadata
) external returns (PooledCDAI) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 17 : PooledCDAIFactory.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
pragma experimental ABIEncoderV2;
import "./lib/CloneFactory.sol";
import "./PooledCDAI.sol";
contract PooledCDAIFactory is CloneFactory {
address public libraryAddress;
event CreatePool(
address sender,
address pool,
bool indexed renounceOwnership
);
constructor(address _libraryAddress) public {
libraryAddress = _libraryAddress;
}
function createPCDAI(
string calldata name,
string calldata symbol,
PooledCDAI.Beneficiary[] calldata beneficiaries,
bool renounceOwnership
) external returns (PooledCDAI) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 17 : PooledCSAI.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/ownership/Ownable.sol";
import "../interfaces/CERC20.sol";
contract PooledCSAI is ERC20, Ownable {
uint256 internal constant PRECISION = 10**18;
address public constant CDAI_ADDRESS = 0xF5DCe57282A584D2746FaF1593d3121Fcac444dC;
address public constant DAI_ADDRESS = 0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359;
string private _name;
string private _symbol;
address public beneficiary; // the account that will receive the interests from Compound
event Mint(address indexed sender, address indexed to, uint256 amount);
event Burn(address indexed sender, address indexed to, uint256 amount);
event WithdrawInterest(
address indexed sender,
address beneficiary,
uint256 amount,
bool indexed inDAI
);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 17 : Sai2Dai.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity 0.5.17;
pragma experimental ABIEncoderV2;
import "@openzeppelin/contracts/ownership/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
import "./PooledCSAI.sol";
import "../PooledCDAI.sol";
import "../MetadataPooledCDAIFactory.sol";
import "./ScdMcdMigration.sol";
contract Sai2Dai is Ownable {
using SafeERC20 for IERC20;
using SafeERC20 for PooledCSAI;
uint256 public constant DEV_WEIGHT = 5;
uint256 public constant BENEFICIARY_WEIGHT = 95;
mapping (address => address) pSAI2pDAI;
address public dev;
MetadataPooledCDAIFactory public factory;
IERC20 public constant sai = IERC20(0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359);
IERC20 public constant dai = IERC20(0x6B175474E89094C44Da98b954EedeAC495271d0F);
ScdMcdMigration public constant mcdaiMigration = ScdMcdMigration(0xc73e0383F3Aff3215E6f04B0331D58CeCf0Ab849);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 17 : ScdMcdMigration.sol
1
2
3
4
5
6
7
8
9
pragma solidity 0.5.17;
interface ScdMcdMigration {
// Function to swap SAI to DAI
// This function is to be used by users that want to get new DAI in exchange of old one (aka SAI)
// wad amount has to be <= the value pending to reach the debt ceiling (the minimum between general and ilk one)
function swapSaiToDai(uint256 wad) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"metadata": {
"useLiteralContent": true
},
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"DAI_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"KYBER_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract PooledCDAI","name":"pcDAI","type":"address"},{"internalType":"address payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnToETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract PooledCDAI","name":"pcDAI","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnToToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract PooledCDAI","name":"pcDAI","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"mintWithETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract PooledCDAI","name":"pcDAI","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintWithToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50611198806100206000396000f3fe6080604052600436106100555760003560e01c80632a4c0a1a14610057578063355570d814610088578063667886751461009d57806394b9cff0146100fa5780639fac395714610128578063cb8334581461016b575b005b34801561006357600080fd5b5061006c6101b4565b604080516001600160a01b039092168252519081900360200190f35b34801561009457600080fd5b5061006c6101cc565b3480156100a957600080fd5b506100e6600480360360808110156100c057600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356101e4565b604080519115158252519081900360200190f35b6100e66004803603604081101561011057600080fd5b506001600160a01b038135811691602001351661034e565b34801561013457600080fd5b506100e66004803603606081101561014b57600080fd5b506001600160a01b038135811691602081013590911690604001356103e9565b34801561017757600080fd5b506100e66004803603608081101561018e57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356104a8565b736b175474e89094c44da98b954eedeac495271d0f81565b73818e6fecd516ecc3849daf6845e3ec868087b75581565b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610258576040805162461bcd60e51b815260206004820152601760248201527f557365206275726e546f455448282920696e7374656164000000000000000000604482015290519081900360640190fd5b6001600160a01b038416736b175474e89094c44da98b954eedeac495271d0f14156102bf576040805162461bcd60e51b8152602060048201526012602482015271155cd948189d5c9b8a0a481a5b9cdd19585960721b604482015290519081900360640190fd5b6102c985836105d1565b736b175474e89094c44da98b954eedeac495271d0f846000806102ed8487856106b3565b909250905061030c6001600160a01b038416888463ffffffff610a8c16565b8581101561033f5761033f33610328888463ffffffff610ae316565b6001600160a01b038716919063ffffffff610a8c16565b50600198975050505050505050565b6000736b175474e89094c44da98b954eedeac495271d0f818061038673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee34856106b3565b91509150610395868684610b2c565b348110156103db57336108fc6103b1348463ffffffff610ae316565b6040518115909202916000818181858888f193505050501580156103d9573d6000803e3d6000fd5b505b600193505050505b92915050565b60006103f584836105d1565b736b175474e89094c44da98b954eedeac495271d0f60008061042c838673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6106b3565b60405191935091506001600160a01b0387169083156108fc029084906000818181858888f19350505050158015610467573d6000803e3d6000fd5b508481101561049b5761049b33610484878463ffffffff610ae316565b6001600160a01b038616919063ffffffff610a8c16565b5060019695505050505050565b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561051c576040805162461bcd60e51b815260206004820152601960248201527f557365206d696e7457697468455448282920696e737465616400000000000000604482015290519081900360640190fd5b6001600160a01b038416736b175474e89094c44da98b954eedeac495271d0f1415610583576040805162461bcd60e51b8152602060048201526012602482015271155cd9481b5a5b9d0a0a481a5b9cdd19585960721b604482015290519081900360640190fd5b8361059f6001600160a01b03821633308663ffffffff610c4716565b736b175474e89094c44da98b954eedeac495271d0f6000806105c28487856106b3565b9150915061030c898884610b2c565b6105ec6001600160a01b03831633308463ffffffff610c4716565b60408051632770a7eb60e21b81523060048201526024810183905290516001600160a01b03841691639dc29fac9160448083019260209291908290030181600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b505050506040513d602081101561066557600080fd5b50516106af576040805162461bcd60e51b81526020600482015260146024820152734661696c656420746f206275726e20706344414960601b604482015290519081900360640190fd5b5050565b6040805163809a9e5560e01b81526001600160a01b03858116600483015283166024820152604481018490528151600092839273818e6fecd516ecc3849daf6845e3ec868087b755928492849263809a9e559260648083019392829003018186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506040513d604081101561074b57600080fd5b50602001519050806107a4576040805162461bcd60e51b815260206004820152601d60248201527f507269636520666f7220746f6b656e2069732030206f6e204b79626572000000604482015290519081900360640190fd5b60006107b08830610ca1565b905060006001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461083c575060006108096001600160a01b038a1673818e6fecd516ecc3849daf6845e3ec868087b7558363ffffffff610d6216565b6108376001600160a01b038a1673818e6fecd516ecc3849daf6845e3ec868087b7558a63ffffffff610d6216565b61083f565b50865b836001600160a01b03166329589f61828b8b8b61085b30610e75565b6b204fce5e3e250261100000008a6000604051806040016040528060048152602001635045524d60e01b8152506040518a63ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561094657818101518382015260200161092e565b50505050905090810190601f1680156109735780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b15801561099857600080fd5b505af11580156109ac573d6000803e3d6000fd5b50505050506040513d60208110156109c357600080fd5b5051955085610a11576040805162461bcd60e51b81526020600482015260156024820152742932b1b2b4bb32b21018103232b9ba103a37b5b2b760591b604482015290519081900360640190fd5b6001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610a6457610a646001600160a01b038a1673818e6fecd516ecc3849daf6845e3ec868087b755600063ffffffff610d6216565b610a7e610a718a30610ca1565b839063ffffffff610ae316565b945050505050935093915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e78565b505050565b6000610b2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611030565b9392505050565b736b175474e89094c44da98b954eedeac495271d0f610b538185600063ffffffff610d6216565b610b6d6001600160a01b038216858463ffffffff610d6216565b836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610bcd57600080fd5b505af1158015610be1573d6000803e3d6000fd5b505050506040513d6020811015610bf757600080fd5b5051610c41576040805162461bcd60e51b81526020600482015260146024820152734661696c656420746f206d696e7420706344414960601b604482015290519081900360640190fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c41908590610e78565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610cd957506001600160a01b038116316103e3565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d2f57600080fd5b505afa158015610d43573d6000803e3d6000fd5b505050506040513d6020811015610d5957600080fd5b50519392505050565b801580610de8575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610dba57600080fd5b505afa158015610dce573d6000803e3d6000fd5b505050506040513d6020811015610de457600080fd5b5051155b610e235760405162461bcd60e51b815260040180806020018281038252603681526020018061112e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610ade908490610e78565b90565b610e8a826001600160a01b03166110c7565b610edb576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610f195780518252601f199092019160209182019101610efa565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f7b576040519150601f19603f3d011682016040523d82523d6000602084013e610f80565b606091505b509150915081610fd7576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610c4157808060200190516020811015610ff357600080fd5b5051610c415760405162461bcd60e51b815260040180806020018281038252602a815260200180611104602a913960400191505060405180910390fd5b600081848411156110bf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561108457818101518382015260200161106c565b50505050905090810190601f1680156110b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906110fb57508115155b94935050505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a7231582086b87b9af2ccccd07a650bffe6b7515c749432adb896ce40ff8f6e870fadb31364736f6c63430005110032

Deployed Bytecode

0x6080604052600436106100555760003560e01c80632a4c0a1a14610057578063355570d814610088578063667886751461009d57806394b9cff0146100fa5780639fac395714610128578063cb8334581461016b575b005b34801561006357600080fd5b5061006c6101b4565b604080516001600160a01b039092168252519081900360200190f35b34801561009457600080fd5b5061006c6101cc565b3480156100a957600080fd5b506100e6600480360360808110156100c057600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356101e4565b604080519115158252519081900360200190f35b6100e66004803603604081101561011057600080fd5b506001600160a01b038135811691602001351661034e565b34801561013457600080fd5b506100e66004803603606081101561014b57600080fd5b506001600160a01b038135811691602081013590911690604001356103e9565b34801561017757600080fd5b506100e66004803603608081101561018e57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356104a8565b736b175474e89094c44da98b954eedeac495271d0f81565b73818e6fecd516ecc3849daf6845e3ec868087b75581565b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610258576040805162461bcd60e51b815260206004820152601760248201527f557365206275726e546f455448282920696e7374656164000000000000000000604482015290519081900360640190fd5b6001600160a01b038416736b175474e89094c44da98b954eedeac495271d0f14156102bf576040805162461bcd60e51b8152602060048201526012602482015271155cd948189d5c9b8a0a481a5b9cdd19585960721b604482015290519081900360640190fd5b6102c985836105d1565b736b175474e89094c44da98b954eedeac495271d0f846000806102ed8487856106b3565b909250905061030c6001600160a01b038416888463ffffffff610a8c16565b8581101561033f5761033f33610328888463ffffffff610ae316565b6001600160a01b038716919063ffffffff610a8c16565b50600198975050505050505050565b6000736b175474e89094c44da98b954eedeac495271d0f818061038673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee34856106b3565b91509150610395868684610b2c565b348110156103db57336108fc6103b1348463ffffffff610ae316565b6040518115909202916000818181858888f193505050501580156103d9573d6000803e3d6000fd5b505b600193505050505b92915050565b60006103f584836105d1565b736b175474e89094c44da98b954eedeac495271d0f60008061042c838673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6106b3565b60405191935091506001600160a01b0387169083156108fc029084906000818181858888f19350505050158015610467573d6000803e3d6000fd5b508481101561049b5761049b33610484878463ffffffff610ae316565b6001600160a01b038616919063ffffffff610a8c16565b5060019695505050505050565b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561051c576040805162461bcd60e51b815260206004820152601960248201527f557365206d696e7457697468455448282920696e737465616400000000000000604482015290519081900360640190fd5b6001600160a01b038416736b175474e89094c44da98b954eedeac495271d0f1415610583576040805162461bcd60e51b8152602060048201526012602482015271155cd9481b5a5b9d0a0a481a5b9cdd19585960721b604482015290519081900360640190fd5b8361059f6001600160a01b03821633308663ffffffff610c4716565b736b175474e89094c44da98b954eedeac495271d0f6000806105c28487856106b3565b9150915061030c898884610b2c565b6105ec6001600160a01b03831633308463ffffffff610c4716565b60408051632770a7eb60e21b81523060048201526024810183905290516001600160a01b03841691639dc29fac9160448083019260209291908290030181600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b505050506040513d602081101561066557600080fd5b50516106af576040805162461bcd60e51b81526020600482015260146024820152734661696c656420746f206275726e20706344414960601b604482015290519081900360640190fd5b5050565b6040805163809a9e5560e01b81526001600160a01b03858116600483015283166024820152604481018490528151600092839273818e6fecd516ecc3849daf6845e3ec868087b755928492849263809a9e559260648083019392829003018186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506040513d604081101561074b57600080fd5b50602001519050806107a4576040805162461bcd60e51b815260206004820152601d60248201527f507269636520666f7220746f6b656e2069732030206f6e204b79626572000000604482015290519081900360640190fd5b60006107b08830610ca1565b905060006001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461083c575060006108096001600160a01b038a1673818e6fecd516ecc3849daf6845e3ec868087b7558363ffffffff610d6216565b6108376001600160a01b038a1673818e6fecd516ecc3849daf6845e3ec868087b7558a63ffffffff610d6216565b61083f565b50865b836001600160a01b03166329589f61828b8b8b61085b30610e75565b6b204fce5e3e250261100000008a6000604051806040016040528060048152602001635045524d60e01b8152506040518a63ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561094657818101518382015260200161092e565b50505050905090810190601f1680156109735780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b15801561099857600080fd5b505af11580156109ac573d6000803e3d6000fd5b50505050506040513d60208110156109c357600080fd5b5051955085610a11576040805162461bcd60e51b81526020600482015260156024820152742932b1b2b4bb32b21018103232b9ba103a37b5b2b760591b604482015290519081900360640190fd5b6001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610a6457610a646001600160a01b038a1673818e6fecd516ecc3849daf6845e3ec868087b755600063ffffffff610d6216565b610a7e610a718a30610ca1565b839063ffffffff610ae316565b945050505050935093915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e78565b505050565b6000610b2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611030565b9392505050565b736b175474e89094c44da98b954eedeac495271d0f610b538185600063ffffffff610d6216565b610b6d6001600160a01b038216858463ffffffff610d6216565b836001600160a01b03166340c10f1984846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610bcd57600080fd5b505af1158015610be1573d6000803e3d6000fd5b505050506040513d6020811015610bf757600080fd5b5051610c41576040805162461bcd60e51b81526020600482015260146024820152734661696c656420746f206d696e7420706344414960601b604482015290519081900360640190fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c41908590610e78565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610cd957506001600160a01b038116316103e3565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d2f57600080fd5b505afa158015610d43573d6000803e3d6000fd5b505050506040513d6020811015610d5957600080fd5b50519392505050565b801580610de8575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610dba57600080fd5b505afa158015610dce573d6000803e3d6000fd5b505050506040513d6020811015610de457600080fd5b5051155b610e235760405162461bcd60e51b815260040180806020018281038252603681526020018061112e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610ade908490610e78565b90565b610e8a826001600160a01b03166110c7565b610edb576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610f195780518252601f199092019160209182019101610efa565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f7b576040519150601f19603f3d011682016040523d82523d6000602084013e610f80565b606091505b509150915081610fd7576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610c4157808060200190516020811015610ff357600080fd5b5051610c415760405162461bcd60e51b815260040180806020018281038252602a815260200180611104602a913960400191505060405180910390fd5b600081848411156110bf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561108457818101518382015260200161106c565b50505050905090810190601f1680156110b15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906110fb57508115155b94935050505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a7231582086b87b9af2ccccd07a650bffe6b7515c749432adb896ce40ff8f6e870fadb31364736f6c63430005110032

Deployed Bytecode Sourcemap

404:7221:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;544:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;544:80:10;;;:::i;:::-;;;;-1:-1:-1;;;;;544:80:10;;;;;;;;;;;;;;630:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:82:10;;;:::i;3341:988::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3341:988:10;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;3341:988:10;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;991:613;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;991:613:10;;;;;;;;;;:::i;2624:711::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:711:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2624:711:10;;;;;;;;;;;;;;;;;:::i;1610:1008::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1610:1008:10;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;1610:1008:10;;;;;;;;;;;;;;;;;;;;;;:::i;544:80::-;582:42;544:80;:::o;630:82::-;670:42;630:82;:::o;3341:988::-;3484:4;-1:-1:-1;;;;;3521:42:10;;777:44;3521:42;;3500:112;;;;;-1:-1:-1;;;3500:112:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3630:27:10;;582:42;3630:27;;3622:58;;;;;-1:-1:-1;;;3622:58:10;;;;;;;;;;;;-1:-1:-1;;;3622:58:10;;;;;;;;;;;;;;;3748:20;3754:5;3761:6;3748:5;:20::i;:::-;582:42;3880:12;3820:9;;3958:77;582:42;4000:6;3880:12;3958:11;:77::i;:::-;3903:132;;-1:-1:-1;3903:132:10;-1:-1:-1;4100:41:10;-1:-1:-1;;;;;4100:18:10;;4119:2;3903:132;4100:41;:18;:41;:::i;:::-;4211:6;4193:15;:24;4189:112;;;4233:57;4250:10;4262:27;:6;4273:15;4262:27;:10;:27;:::i;:::-;-1:-1:-1;;;;;4233:16:10;;;:57;;:16;:57;:::i;:::-;-1:-1:-1;4318:4:10;;3341:988;-1:-1:-1;;;;;;;;3341:988:10:o;991:613::-;1090:4;582:42;1090:4;;1245:92;777:44;1301:9;582:42;1245:11;:92::i;:::-;1192:145;;;;1388:33;1394:5;1401:2;1405:15;1388:5;:33::i;:::-;1489:9;1471:15;:27;1467:109;;;1514:10;:51;1534:30;:9;1548:15;1534:30;:13;:30;:::i;:::-;1514:51;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1514:51:10;1467:109;1593:4;1586:11;;;;;991:613;;;;;:::o;2624:711::-;2729:4;2806:20;2812:5;2819:6;2806:5;:20::i;:::-;582:42;2876:9;;2969:89;582:42;3011:6;777:44;2969:11;:89::i;:::-;3119:28;;2916:142;;-1:-1:-1;2916:142:10;-1:-1:-1;;;;;;3119:11:10;;;:28;;;;;2916:142;;3119:28;;;;2916:142;3119:11;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3119:28:10;3217:6;3199:15;:24;3195:112;;;3239:57;3256:10;3268:27;:6;3279:15;3268:27;:10;:27;:::i;:::-;-1:-1:-1;;;;;3239:16:10;;;:57;;:16;:57;:::i;:::-;-1:-1:-1;3324:4:10;;2624:711;-1:-1:-1;;;;;;2624:711:10:o;1610:1008::-;1755:4;-1:-1:-1;;;;;1792:42:10;;777:44;1792:42;;1771:114;;;;;-1:-1:-1;;;1771:114:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1903:27:10;;582:42;1903:27;;1895:58;;;;;-1:-1:-1;;;1895:58:10;;;;;;;;;;;;-1:-1:-1;;;1895:58:10;;;;;;;;;;;;;;;2035:12;2058:57;-1:-1:-1;;;;;2058:22:10;;2081:10;2101:4;2108:6;2058:57;:22;:57;:::i;:::-;582:42;2167:9;;2262:77;2287:5;2306:6;582:42;2262:11;:77::i;:::-;2207:132;;;;2390:33;2396:5;2403:2;2407:15;2390:5;:33::i;4655:299::-;4774:57;-1:-1:-1;;;;;4774:22:10;;4797:10;4817:4;4824:6;4774:57;:22;:57;:::i;:::-;4889:33;;;-1:-1:-1;;;4889:33:10;;4908:4;4889:33;;;;;;;;;;;;-1:-1:-1;;;;;4889:10:10;;;;;:33;;;;;;;;;;;;;;-1:-1:-1;4889:10:10;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;4889:33:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4889:33:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4889:33:10;4881:66;;;;;-1:-1:-1;;;4881:66:10;;;;;;;;;;;;-1:-1:-1;;;4881:66:10;;;;;;;;;;;;;;;4655:299;;:::o;6182:1405::-;6508:102;;;-1:-1:-1;;;6508:102:10;;-1:-1:-1;;;;;6508:102:10;;;;;;;;;;;;;;;;;;;;;6292:25;;;;670:42;;6292:25;;670:42;;6508:21;;:102;;;;;;;;;;;670:42;6508:102;;;5:2:-1;;;;30:1;27;20:12;5:2;6508:102:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6508:102:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6508:102:10;;;;-1:-1:-1;6628:8:10;6620:50;;;;;-1:-1:-1;;;6620:50:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;6681:24;6708:37;6720:9;6739:4;6708:11;:37::i;:::-;6681:64;-1:-1:-1;6755:16:10;-1:-1:-1;;;;;6785:30:10;;777:44;6785:30;6781:240;;-1:-1:-1;6842:1:10;6857:39;-1:-1:-1;;;;;6857:21:10;;670:42;6842:1;6857:39;:21;:39;:::i;:::-;6910:48;-1:-1:-1;;;;;6910:21:10;;670:42;6947:10;6910:48;:21;:48;:::i;:::-;6781:240;;;-1:-1:-1;7000:10:10;6781:240;7050:5;-1:-1:-1;;;;;7050:19:10;;7076:8;7099:9;7122:10;7146;7170:29;7193:4;7170:14;:29::i;:::-;963:6;7234:4;7260:1;7276:9;;;;;;;;;;;;;-1:-1:-1;;;7276:9:10;;;7050:245;;;;;;;;;;;;;-1:-1:-1;;;;;7050:245:10;-1:-1:-1;;;;;7050:245:10;;;;;;;;;;;-1:-1:-1;;;;;7050:245:10;-1:-1:-1;;;;;7050:245:10;;;;;;-1:-1:-1;;;;;7050:245:10;-1:-1:-1;;;;;7050:245:10;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7050:245:10;-1:-1:-1;;;;;7050:245:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7050:245:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7050:245:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7050:245:10;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7050:245:10;;-1:-1:-1;7313:21:10;7305:55;;;;;-1:-1:-1;;;7305:55:10;;;;;;;;;;;;-1:-1:-1;;;7305:55:10;;;;;;;;;;;;;;;-1:-1:-1;;;;;7374:30:10;;777:44;7374:30;7370:100;;7420:39;-1:-1:-1;;;;;7420:21:10;;670:42;7457:1;7420:39;:21;:39;:::i;:::-;7499:81;7533:37;7545:9;7564:4;7533:11;:37::i;:::-;7499:16;;:81;:20;:81;:::i;:::-;7480:100;;6182:1405;;;;;;;;;;:::o;662:174:5:-;770:58;;;-1:-1:-1;;;;;770:58:5;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;770:58:5;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;744:85:5;;763:5;;744:18;:85::i;:::-;662:174;;;:::o;1274:134:1:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:1:o;4335:314:10:-;582:42;4476:34;582:42;4500:5;4436:9;4476:34;:15;:34;:::i;:::-;4520:48;-1:-1:-1;;;;;4520:15:10;;4544:5;4552:15;4520:48;:15;:48;:::i;:::-;4586:5;-1:-1:-1;;;;;4586:10:10;;4597:2;4601:15;4586:31;;;;;;;;;;;;;-1:-1:-1;;;;;4586:31:10;-1:-1:-1;;;;;4586:31:10;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4586:31:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4586:31:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4586:31:10;4578:64;;;;;-1:-1:-1;;;4578:64:10;;;;;;;;;;;;-1:-1:-1;;;4578:64:10;;;;;;;;;;;;;;;4335:314;;;;:::o;842:202:5:-;968:68;;;-1:-1:-1;;;;;968:68:5;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;968:68:5;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;942:95:5;;961:5;;942:18;:95::i;5179:280:10:-;5276:7;-1:-1:-1;;;;;5303:45:10;;777:44;5303:45;5299:105;;;-1:-1:-1;;;;;;5379:13:10;;;5364:29;;5299:105;5428:6;-1:-1:-1;;;;;5428:16:10;;5445:5;5428:23;;;;;;;;;;;;;-1:-1:-1;;;;;5428:23:10;-1:-1:-1;;;;;5428:23:10;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5428:23:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5428:23:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5428:23:10;;5179:280;-1:-1:-1;;;5179:280:10:o;1050:612:5:-;1415:10;;;1414:62;;-1:-1:-1;1431:39:5;;;-1:-1:-1;;;1431:39:5;;1455:4;1431:39;;;;-1:-1:-1;;;;;1431:39:5;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;1431:39:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1431:39:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1431:39:5;:44;1414:62;1406:150;;;;-1:-1:-1;;;1406:150:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1592:62;;;-1:-1:-1;;;;;1592:62:5;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;1592:62:5;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;1566:89:5;;1585:5;;1566:18;:89::i;5465:154:10:-;5605:5;5465:154::o;2666:1095:5:-;3261:27;3269:5;-1:-1:-1;;;;;3261:25:5;;:27::i;:::-;3253:71;;;;;-1:-1:-1;;;3253:71:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:12;3409:23;3444:5;-1:-1:-1;;;;;3436:19:5;3456:4;3436:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3436:25:5;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3394:67:5;;;;3479:7;3471:52;;;;;-1:-1:-1;;;3471:52:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:17;;:21;3534:221;;3678:10;3667:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3667:30:5;3659:85;;;;-1:-1:-1;;;3659:85:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1732:187:1;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:1;;;1732:187::o;686:610:6:-;746:4;1207:20;;1052:66;1246:23;;;;;;:42;;-1:-1:-1;1273:15:6;;;1246:42;1238:51;686:610;-1:-1:-1;;;;686:610:6:o

Block Age Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Age Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Age Amount
View All Withdrawals

Transaction Hash Block Age Value Eth2 PubKey Valid
View All Deposits
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.