ETH Price: $3,480.38 (-1.07%)
Gas: 5 Gwei

Contract

0xfbA915A2765Dfc34dc0E19c0d63FF715264d36D3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Swap203534492024-07-21 7:34:3544 hrs ago1721547275IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000180481.90796667
Swap202036802024-06-30 9:43:1122 days ago1719740591IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000220452.45501669
Swap200851662024-06-13 20:05:2339 days ago1718309123IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0009964910.53407705
Swap200061012024-06-02 19:03:1150 days ago1717354991IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000733288.16601471
Swap199956772024-06-01 8:08:3551 days ago1717229315IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000443714.94127083
Swap199545122024-05-26 14:01:3557 days ago1716732095IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000581657.50545252
Swap199260802024-05-22 14:41:2361 days ago1716388883IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0015982817.79884901
Swap198994822024-05-18 21:22:2365 days ago1716067343IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000270113.00811325
Swap198817242024-05-16 9:44:4767 days ago1715852687IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000389844.34138813
Swap198334822024-05-09 15:48:1174 days ago1715269691IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000600746.69008294
Swap197666862024-04-30 7:38:3583 days ago1714462715IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.00068617.25289532
Swap197498452024-04-27 23:08:1186 days ago1714259291IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.000451364.77147239
Swap196272812024-04-10 19:21:23103 days ago1712776883IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0019996521.13871445
Swap196264652024-04-10 16:37:23103 days ago1712767043IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0022334824.87262353
Swap195509192024-03-31 2:30:23114 days ago1711852223IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0018245720.31887701
Swap195489512024-03-30 19:50:47114 days ago1711828247IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.001940421.6088097
Swap195338622024-03-28 16:49:59116 days ago1711644599IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0051857154.81903444
Swap195248732024-03-27 9:48:23117 days ago1711532903IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0023304124.63524112
Swap194990542024-03-23 18:22:11121 days ago1711218131IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0005276119.64303014
Swap194990522024-03-23 18:21:47121 days ago1711218107IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0005105319.00709659
Swap194990342024-03-23 18:18:11121 days ago1711217891IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0005307519.76013718
Swap194989362024-03-23 17:58:23121 days ago1711216703IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0005680321.14798689
Swap194985022024-03-23 16:30:47121 days ago1711211447IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0005977822.25544944
Swap194984462024-03-23 16:19:35121 days ago1711210775IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0005933822.09171871
Swap194984372024-03-23 16:17:35121 days ago1711210655IN
VIDT Datalink to VIDT DAO swap contract
0 ETH0.0006044722.50479721
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VIDT_tokenswap

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-09-02
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.16;

interface iERC20 {

	function balanceOf(address who) external view returns (uint256 balance);

	function allowance(address owner, address spender) external view returns (uint256 remaining);

	function transfer(address to, uint256 value) external returns (bool success);

	function approve(address spender, uint256 value) external returns (bool success);

	function transferFrom(address from, address to, uint256 value) external returns (bool success);

	event Transfer(address indexed _from, address indexed _to, uint256 _value);

	event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract Context {
	function _msgSender() internal view returns (address) {
		return msg.sender;
	}

	function _msgData() internal view returns (bytes memory) {
		this;
		return msg.data;
	}
}

library SafeMath {
	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		assert(b <= a);
		return a - b;
	}

	function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
		c = a + b;
		assert(c >= a);
		return c;
	}

	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		if (a == 0) {
			return 0;
		}
		uint256 c = a * b;
		require(c / a == b);
		return c;
	}
}

library SafeERC20 {
	function safeTransfer(iERC20 _token, address _to, uint256 _value) internal {
		require(_token.transfer(_to, _value));
	}
	function safeTransferFrom(iERC20 _token, address _from, address _to, uint256 _value) internal {
		require(_token.transferFrom(_from, _to, _value));
	}
}

contract Controllable is Context {
	mapping (address => bool) public controllers;
	event ControllerAdded(address indexed _new);
	event ControllerRemoved(address indexed _old);

	constructor () {
		address msgSender = _msgSender();
		controllers[msgSender] = true;
		emit ControllerAdded(msgSender);
	}

	modifier onlyController() {
		require(controllers[_msgSender()], "Controllable: caller is not a controller");
		_;
	}

	function addController(address _address) external onlyController {
		controllers[_address] = true;
		emit ControllerAdded(_address);
	}

	function removeController(address _address) external onlyController {
		delete controllers[_address];
		emit ControllerRemoved(_address);
	}
}

contract Pausable is Controllable {
	event Pause();
	event Unpause();

	bool public paused = false;

	modifier whenNotPaused() {
		require(!paused);
		_;
	}

	modifier whenPaused() {
		require(paused);
		_;
	}

	function pause() public onlyController whenNotPaused {
		paused = true;
		emit Pause();
	}

	function unpause() public onlyController whenPaused {
		paused = false;
		emit Unpause();
	}
}

contract VIDT_tokenswap is Controllable, Pausable {
	using SafeMath for uint256;
	using SafeERC20 for iERC20;

	mapping (address => bool) public blocklist;

	iERC20 public constant tokenOld = iERC20(0xfeF4185594457050cC9c23980d301908FE057Bb1); 
	iERC20 public constant tokenNew = iERC20(0x3BE7bF1A5F23BD8336787D0289B70602f1940875);
	address public tokenPool = address(0x025c4123148416e26f864d45Fe9C45AeBc6A47c3);
	uint256 public blocked;

	event swapped(uint256 indexed amount);
	
	constructor() {
		controllers[msg.sender] = true;
	}
	
	function switchPool(address _tokenPool) public onlyController {
		tokenPool = _tokenPool;
	}

	function receiveEther() public payable {
		revert();
	}

	function swap() public {
		uint256 _amount = tokenOld.balanceOf(msg.sender);
		require(_amount > 0,"No balance of VIDT Datalink tokens");
		_swap(_amount);
	}

	function _swap(uint256 _amount) internal {
		tokenOld.safeTransferFrom(address(msg.sender), tokenPool, _amount);
		if (blocklist[msg.sender]) {
			blocked.add(_amount);
		} else {
			tokenNew.safeTransferFrom(tokenPool, address(msg.sender), _amount.mul(10));
		}
		emit swapped(_amount);
	}

	function blockAddress(address _address, bool _state) external onlyController returns (bool) {
		blocklist[_address] = _state;
		return true;
	}

	function transferToken(address tokenAddress, uint256 amount) external onlyController {
		iERC20(tokenAddress).safeTransfer(msg.sender,amount);
	}

	function flushToken(address tokenAddress) external onlyController {
		uint256 amount = iERC20(tokenAddress).balanceOf(address(this));
		iERC20(tokenAddress).safeTransfer(msg.sender,amount);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"}],"name":"ControllerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ControllerRemoved","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapped","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_state","type":"bool"}],"name":"blockAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blocklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"controllers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"flushToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiveEther","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"}],"name":"switchPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenNew","outputs":[{"internalType":"contract iERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenOld","outputs":[{"internalType":"contract iERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526001805460ff19169055600380546001600160a01b03191673025c4123148416e26f864d45fe9c45aebc6a47c317905534801561004057600080fd5b5033600081815260208190526040808220805460ff191660011790555182917f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747491a250336000908152602081905260409020805460ff19166001179055610baf806100ac6000396000f3fe6080604052600436106100fe5760003560e01c80638456cb5911610095578063b2d9c38811610064578063b2d9c38814610287578063da8c229e146102a7578063e5c7160b146102d7578063ec0d498214610307578063f6a74ed71461032757600080fd5b80638456cb591461022a5780639cee789f1461023f578063a3912ec81461025f578063a7fc7a071461026757600080fd5b80633f4ba83a116100d15780633f4ba83a146101ae5780635c975abb146101c357806379e3e094146101ed5780638119c0651461021557600080fd5b8063104e9929146101035780631072cbea14610140578063302b2e6414610162578063303bdd2c1461018a575b600080fd5b34801561010f57600080fd5b50600354610123906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561014c57600080fd5b5061016061015b3660046109f1565b610347565b005b34801561016e57600080fd5b50610123733be7bf1a5f23bd8336787d0289b70602f194087581565b34801561019657600080fd5b506101a060045481565b604051908152602001610137565b3480156101ba57600080fd5b50610160610397565b3480156101cf57600080fd5b506001546101dd9060ff1681565b6040519015158152602001610137565b3480156101f957600080fd5b5061012373fef4185594457050cc9c23980d301908fe057bb181565b34801561022157600080fd5b5061016061040a565b34801561023657600080fd5b506101606104e9565b34801561024b57600080fd5b5061016061025a366004610a1b565b61055f565b610160600080fd5b34801561027357600080fd5b50610160610282366004610a1b565b61060f565b34801561029357600080fd5b506101606102a2366004610a1b565b61068a565b3480156102b357600080fd5b506101dd6102c2366004610a1b565b60006020819052908152604090205460ff1681565b3480156102e357600080fd5b506101dd6102f2366004610a1b565b60026020526000908152604090205460ff1681565b34801561031357600080fd5b506101dd610322366004610a44565b6106db565b34801561033357600080fd5b50610160610342366004610a1b565b610738565b3360009081526020819052604090205460ff1661037f5760405162461bcd60e51b815260040161037690610a7b565b60405180910390fd5b6103936001600160a01b03831633836107b0565b5050565b3360009081526020819052604090205460ff166103c65760405162461bcd60e51b815260040161037690610a7b565b60015460ff166103d557600080fd5b6001805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6040516370a0823160e01b815233600482015260009073fef4185594457050cc9c23980d301908fe057bb1906370a0823190602401602060405180830381865afa15801561045c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104809190610ac3565b9050600081116104dd5760405162461bcd60e51b815260206004820152602260248201527f4e6f2062616c616e6365206f66205649445420446174616c696e6b20746f6b656044820152616e7360f01b6064820152608401610376565b6104e681610831565b50565b3360009081526020819052604090205460ff166105185760405162461bcd60e51b815260040161037690610a7b565b60015460ff161561052857600080fd5b6001805460ff1916811790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b3360009081526020819052604090205460ff1661058e5760405162461bcd60e51b815260040161037690610a7b565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190610ac3565b90506103936001600160a01b03831633836107b0565b3360009081526020819052604090205460ff1661063e5760405162461bcd60e51b815260040161037690610a7b565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d74749190a250565b3360009081526020819052604090205460ff166106b95760405162461bcd60e51b815260040161037690610a7b565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604081205460ff1661070a5760405162461bcd60e51b815260040161037690610a7b565b506001600160a01b0382166000908152600260205260409020805460ff191682151517905560015b92915050565b3360009081526020819052604090205460ff166107675760405162461bcd60e51b815260040161037690610a7b565b6001600160a01b038116600081815260208190526040808220805460ff19169055517f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e811139190a250565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156107ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108239190610adc565b61082c57600080fd5b505050565b60035461085f9073fef4185594457050cc9c23980d301908fe057bb19033906001600160a01b0316846108f1565b3360009081526002602052604090205460ff161561088a57600454610884908261097b565b506108c3565b6003546108c3906001600160a01b0316336108a684600a610999565b733be7bf1a5f23bd8336787d0289b70602f19408759291906108f1565b60405181907f56c1cc0ee18fd18b7913508d06a3a97bb1f19264a63fcbb16e884eb8c083b2ce90600090a250565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610948573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096c9190610adc565b61097557600080fd5b50505050565b60006109878284610b0f565b90508281101561073257610732610b22565b6000826000036109ab57506000610732565b60006109b78385610b38565b9050826109c48583610b57565b146109ce57600080fd5b9392505050565b80356001600160a01b03811681146109ec57600080fd5b919050565b60008060408385031215610a0457600080fd5b610a0d836109d5565b946020939093013593505050565b600060208284031215610a2d57600080fd5b6109ce826109d5565b80151581146104e657600080fd5b60008060408385031215610a5757600080fd5b610a60836109d5565b91506020830135610a7081610a36565b809150509250929050565b60208082526028908201527f436f6e74726f6c6c61626c653a2063616c6c6572206973206e6f74206120636f604082015267373a3937b63632b960c11b606082015260800190565b600060208284031215610ad557600080fd5b5051919050565b600060208284031215610aee57600080fd5b81516109ce81610a36565b634e487b7160e01b600052601160045260246000fd5b8082018082111561073257610732610af9565b634e487b7160e01b600052600160045260246000fd5b6000816000190483118215151615610b5257610b52610af9565b500290565b600082610b7457634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122055f68b60f815bbdd10d0418552a6867bfdf9d3c36ca8046bc3119bae8358f45664736f6c63430008100033

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c80638456cb5911610095578063b2d9c38811610064578063b2d9c38814610287578063da8c229e146102a7578063e5c7160b146102d7578063ec0d498214610307578063f6a74ed71461032757600080fd5b80638456cb591461022a5780639cee789f1461023f578063a3912ec81461025f578063a7fc7a071461026757600080fd5b80633f4ba83a116100d15780633f4ba83a146101ae5780635c975abb146101c357806379e3e094146101ed5780638119c0651461021557600080fd5b8063104e9929146101035780631072cbea14610140578063302b2e6414610162578063303bdd2c1461018a575b600080fd5b34801561010f57600080fd5b50600354610123906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561014c57600080fd5b5061016061015b3660046109f1565b610347565b005b34801561016e57600080fd5b50610123733be7bf1a5f23bd8336787d0289b70602f194087581565b34801561019657600080fd5b506101a060045481565b604051908152602001610137565b3480156101ba57600080fd5b50610160610397565b3480156101cf57600080fd5b506001546101dd9060ff1681565b6040519015158152602001610137565b3480156101f957600080fd5b5061012373fef4185594457050cc9c23980d301908fe057bb181565b34801561022157600080fd5b5061016061040a565b34801561023657600080fd5b506101606104e9565b34801561024b57600080fd5b5061016061025a366004610a1b565b61055f565b610160600080fd5b34801561027357600080fd5b50610160610282366004610a1b565b61060f565b34801561029357600080fd5b506101606102a2366004610a1b565b61068a565b3480156102b357600080fd5b506101dd6102c2366004610a1b565b60006020819052908152604090205460ff1681565b3480156102e357600080fd5b506101dd6102f2366004610a1b565b60026020526000908152604090205460ff1681565b34801561031357600080fd5b506101dd610322366004610a44565b6106db565b34801561033357600080fd5b50610160610342366004610a1b565b610738565b3360009081526020819052604090205460ff1661037f5760405162461bcd60e51b815260040161037690610a7b565b60405180910390fd5b6103936001600160a01b03831633836107b0565b5050565b3360009081526020819052604090205460ff166103c65760405162461bcd60e51b815260040161037690610a7b565b60015460ff166103d557600080fd5b6001805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6040516370a0823160e01b815233600482015260009073fef4185594457050cc9c23980d301908fe057bb1906370a0823190602401602060405180830381865afa15801561045c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104809190610ac3565b9050600081116104dd5760405162461bcd60e51b815260206004820152602260248201527f4e6f2062616c616e6365206f66205649445420446174616c696e6b20746f6b656044820152616e7360f01b6064820152608401610376565b6104e681610831565b50565b3360009081526020819052604090205460ff166105185760405162461bcd60e51b815260040161037690610a7b565b60015460ff161561052857600080fd5b6001805460ff1916811790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b3360009081526020819052604090205460ff1661058e5760405162461bcd60e51b815260040161037690610a7b565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190610ac3565b90506103936001600160a01b03831633836107b0565b3360009081526020819052604090205460ff1661063e5760405162461bcd60e51b815260040161037690610a7b565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d74749190a250565b3360009081526020819052604090205460ff166106b95760405162461bcd60e51b815260040161037690610a7b565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604081205460ff1661070a5760405162461bcd60e51b815260040161037690610a7b565b506001600160a01b0382166000908152600260205260409020805460ff191682151517905560015b92915050565b3360009081526020819052604090205460ff166107675760405162461bcd60e51b815260040161037690610a7b565b6001600160a01b038116600081815260208190526040808220805460ff19169055517f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e811139190a250565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156107ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108239190610adc565b61082c57600080fd5b505050565b60035461085f9073fef4185594457050cc9c23980d301908fe057bb19033906001600160a01b0316846108f1565b3360009081526002602052604090205460ff161561088a57600454610884908261097b565b506108c3565b6003546108c3906001600160a01b0316336108a684600a610999565b733be7bf1a5f23bd8336787d0289b70602f19408759291906108f1565b60405181907f56c1cc0ee18fd18b7913508d06a3a97bb1f19264a63fcbb16e884eb8c083b2ce90600090a250565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610948573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096c9190610adc565b61097557600080fd5b50505050565b60006109878284610b0f565b90508281101561073257610732610b22565b6000826000036109ab57506000610732565b60006109b78385610b38565b9050826109c48583610b57565b146109ce57600080fd5b9392505050565b80356001600160a01b03811681146109ec57600080fd5b919050565b60008060408385031215610a0457600080fd5b610a0d836109d5565b946020939093013593505050565b600060208284031215610a2d57600080fd5b6109ce826109d5565b80151581146104e657600080fd5b60008060408385031215610a5757600080fd5b610a60836109d5565b91506020830135610a7081610a36565b809150509250929050565b60208082526028908201527f436f6e74726f6c6c61626c653a2063616c6c6572206973206e6f74206120636f604082015267373a3937b63632b960c11b606082015260800190565b600060208284031215610ad557600080fd5b5051919050565b600060208284031215610aee57600080fd5b81516109ce81610a36565b634e487b7160e01b600052601160045260246000fd5b8082018082111561073257610732610af9565b634e487b7160e01b600052600160045260246000fd5b6000816000190483118215151615610b5257610b52610af9565b500290565b600082610b7457634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122055f68b60f815bbdd10d0418552a6867bfdf9d3c36ca8046bc3119bae8358f45664736f6c63430008100033

Deployed Bytecode Sourcemap

2806:1687:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3147:78;;;;;;;;;;-1:-1:-1;3147:78:0;;;;-1:-1:-1;;;;;3147:78:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;3147:78:0;;;;;;;;4143:147;;;;;;;;;;-1:-1:-1;4143:147:0;;;;;:::i;:::-;;:::i;:::-;;3059:84;;;;;;;;;;;;3100:42;3059:84;;3229:22;;;;;;;;;;;;;;;;;;;1026:25:1;;;1014:2;999:18;3229:22:0;880:177:1;2704:95:0;;;;;;;;;;;;;:::i;2454:26::-;;;;;;;;;;-1:-1:-1;2454:26:0;;;;;;;;;;;1227:14:1;;1220:22;1202:41;;1190:2;1175:18;2454:26:0;1062:187:1;2970:84:0;;;;;;;;;;;;3011:42;2970:84;;3522:162;;;;;;;;;;;;;:::i;2606:93::-;;;;;;;;;;;;;:::i;4295:195::-;;;;;;;;;;-1:-1:-1;4295:195:0;;;;;:::i;:::-;;:::i;3460:57::-;;2806:1687;;;2085:138;;;;;;;;;;-1:-1:-1;2085:138:0;;;;;:::i;:::-;;:::i;3361:94::-;;;;;;;;;;-1:-1:-1;3361:94:0;;;;;:::i;:::-;;:::i;1682:44::-;;;;;;;;;;-1:-1:-1;1682:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2922:42;;;;;;;;;;-1:-1:-1;2922:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3992:146;;;;;;;;;;-1:-1:-1;3992:146:0;;;;;:::i;:::-;;:::i;2228:143::-;;;;;;;;;;-1:-1:-1;2228:143:0;;;;;:::i;:::-;;:::i;4143:147::-;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;;;;;;;;;4233:52:::1;-1:-1:-1::0;;;;;4233:33:0;::::1;4267:10;4278:6:::0;4233:33:::1;:52::i;:::-;4143:147:::0;;:::o;2704:95::-;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;2583:6:::1;::::0;::::1;;2575:15;;;::::0;::::1;;2761:6:::2;:14:::0;;-1:-1:-1;;2761:14:0::2;::::0;;2785:9:::2;::::0;::::2;::::0;2770:5:::2;::::0;2785:9:::2;2704:95::o:0;3522:162::-;3568:30;;-1:-1:-1;;;3568:30:0;;3587:10;3568:30;;;160:51:1;3550:15:0;;3011:42;;3568:18;;133::1;;3568:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3550:48;;3621:1;3611:7;:11;3603:57;;;;-1:-1:-1;;;3603:57:0;;2688:2:1;3603:57:0;;;2670:21:1;2727:2;2707:18;;;2700:30;2766:34;2746:18;;;2739:62;-1:-1:-1;;;2817:18:1;;;2810:32;2859:19;;3603:57:0;2486:398:1;3603:57:0;3665:14;3671:7;3665:5;:14::i;:::-;3545:139;3522:162::o;2606:93::-;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;2525:6:::1;::::0;::::1;;2524:7;2516:16;;;::::0;::::1;;2673:4:::2;2664:13:::0;;-1:-1:-1;;2664:13:0::2;::::0;::::2;::::0;;2687:7:::2;::::0;::::2;::::0;2664:6:::2;::::0;2687:7:::2;2606:93::o:0;4295:195::-;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;4383:45:::1;::::0;-1:-1:-1;;;4383:45:0;;4422:4:::1;4383:45;::::0;::::1;160:51:1::0;4366:14:0::1;::::0;-1:-1:-1;;;;;4383:30:0;::::1;::::0;::::1;::::0;133:18:1;;4383:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4366:62:::0;-1:-1:-1;4433:52:0::1;-1:-1:-1::0;;;;;4433:33:0;::::1;4467:10;4366:62:::0;4433:33:::1;:52::i;2085:138::-:0;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2155:21:0;::::1;:11;:21:::0;;;::::1;::::0;;;;;;;:28;;-1:-1:-1;;2155:28:0::1;2179:4;2155:28;::::0;;2193:25;::::1;::::0;2155:11;2193:25:::1;2085:138:::0;:::o;3361:94::-;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;3428:9:::1;:22:::0;;-1:-1:-1;;;;;;3428:22:0::1;-1:-1:-1::0;;;;;3428:22:0;;;::::1;::::0;;;::::1;::::0;;3361:94::o;3992:146::-;788:10;4078:4;1999:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4089:19:0;::::1;;::::0;;;:9:::1;:19;::::0;;;;:28;;-1:-1:-1;;4089:28:0::1;::::0;::::1;;;::::0;;-1:-1:-1;2074:1:0::1;3992:146:::0;;;;:::o;2228:143::-;788:10;1999:11;:25;;;;;;;;;;;;;1991:78;;;;-1:-1:-1;;;1991:78:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2308:21:0;::::1;:11;:21:::0;;;::::1;::::0;;;;;;;2301:28;;-1:-1:-1;;2301:28:0::1;::::0;;2339:27;::::1;::::0;2308:11;2339:27:::1;2228:143:::0;:::o;1361:122::-;1449:28;;-1:-1:-1;;;1449:28:0;;-1:-1:-1;;;;;3081:32:1;;;1449:28:0;;;3063:51:1;3130:18;;;3123:34;;;1449:15:0;;;;;3036:18:1;;1449:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1441:37;;;;;;1361:122;;;:::o;3689:298::-;3782:9;;3735:66;;3011:42;;3769:10;;-1:-1:-1;;;;;3782:9:0;3793:7;3735:25;:66::i;:::-;3820:10;3810:21;;;;:9;:21;;;;;;;;3806:151;;;3839:7;;:20;;3851:7;3839:11;:20::i;:::-;;3806:151;;;3903:9;;3877:74;;-1:-1:-1;;;;;3903:9:0;3922:10;3935:15;:7;3947:2;3935:11;:15::i;:::-;3100:42;;3877:74;;:25;:74::i;:::-;3966:16;;3974:7;;3966:16;;;;;3689:298;:::o;1486:152::-;1593:39;;-1:-1:-1;;;1593:39:0;;-1:-1:-1;;;;;3676:15:1;;;1593:39:0;;;3658:34:1;3728:15;;;3708:18;;;3701:43;3760:18;;;3753:34;;;1593:19:0;;;;;3593:18:1;;1593:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1585:48;;;;;;1486:152;;;;:::o;1040:120::-;1098:9;1118:5;1122:1;1118;:5;:::i;:::-;1114:9;;1140:1;1135;:6;;1128:14;;;;:::i;1165:167::-;1223:7;1241:1;1246;1241:6;1237:32;;-1:-1:-1;1262:1:0;1255:8;;1237:32;1273:9;1285:5;1289:1;1285;:5;:::i;:::-;1273:17;-1:-1:-1;1312:1:0;1303:5;1307:1;1273:17;1303:5;:::i;:::-;:10;1295:19;;;;;;1326:1;1165:167;-1:-1:-1;;;1165:167:0:o;222:173:1:-;290:20;;-1:-1:-1;;;;;339:31:1;;329:42;;319:70;;385:1;382;375:12;319:70;222:173;;;:::o;400:254::-;468:6;476;529:2;517:9;508:7;504:23;500:32;497:52;;;545:1;542;535:12;497:52;568:29;587:9;568:29;:::i;:::-;558:39;644:2;629:18;;;;616:32;;-1:-1:-1;;;400:254:1:o;1254:186::-;1313:6;1366:2;1354:9;1345:7;1341:23;1337:32;1334:52;;;1382:1;1379;1372:12;1334:52;1405:29;1424:9;1405:29;:::i;1445:118::-;1531:5;1524:13;1517:21;1510:5;1507:32;1497:60;;1553:1;1550;1543:12;1568:315;1633:6;1641;1694:2;1682:9;1673:7;1669:23;1665:32;1662:52;;;1710:1;1707;1700:12;1662:52;1733:29;1752:9;1733:29;:::i;:::-;1723:39;;1812:2;1801:9;1797:18;1784:32;1825:28;1847:5;1825:28;:::i;:::-;1872:5;1862:15;;;1568:315;;;;;:::o;1888:404::-;2090:2;2072:21;;;2129:2;2109:18;;;2102:30;2168:34;2163:2;2148:18;;2141:62;-1:-1:-1;;;2234:2:1;2219:18;;2212:38;2282:3;2267:19;;1888:404::o;2297:184::-;2367:6;2420:2;2408:9;2399:7;2395:23;2391:32;2388:52;;;2436:1;2433;2426:12;2388:52;-1:-1:-1;2459:16:1;;2297:184;-1:-1:-1;2297:184:1:o;3168:245::-;3235:6;3288:2;3276:9;3267:7;3263:23;3259:32;3256:52;;;3304:1;3301;3294:12;3256:52;3336:9;3330:16;3355:28;3377:5;3355:28;:::i;3798:127::-;3859:10;3854:3;3850:20;3847:1;3840:31;3890:4;3887:1;3880:15;3914:4;3911:1;3904:15;3930:125;3995:9;;;4016:10;;;4013:36;;;4029:18;;:::i;4060:127::-;4121:10;4116:3;4112:20;4109:1;4102:31;4152:4;4149:1;4142:15;4176:4;4173:1;4166:15;4192:168;4232:7;4298:1;4294;4290:6;4286:14;4283:1;4280:21;4275:1;4268:9;4261:17;4257:45;4254:71;;;4305:18;;:::i;:::-;-1:-1:-1;4345:9:1;;4192:168::o;4365:217::-;4405:1;4431;4421:132;;4475:10;4470:3;4466:20;4463:1;4456:31;4510:4;4507:1;4500:15;4538:4;4535:1;4528:15;4421:132;-1:-1:-1;4567:9:1;;4365:217::o

Swarm Source

ipfs://55f68b60f815bbdd10d0418552a6867bfdf9d3c36ca8046bc3119bae8358f456

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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