ETH Price: $3,247.32 (+4.71%)
 

Overview

ETH Balance

0.0081 ETH

Eth Value

$26.30 (@ $3,247.32/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Token Out158731822022-11-01 5:43:11821 days ago1667281391IN
0x51292Bf7...A1A8BC067
0 ETH0.000443298.13918403
Token Out158731812022-11-01 5:42:59821 days ago1667281379IN
0x51292Bf7...A1A8BC067
0 ETH0.000455568.36451738
Token Out158731812022-11-01 5:42:59821 days ago1667281379IN
0x51292Bf7...A1A8BC067
0 ETH0.000455568.36451738
Token Out158731772022-11-01 5:42:11821 days ago1667281331IN
0x51292Bf7...A1A8BC067
0 ETH0.000455568.36451738
Token Out158731372022-11-01 5:34:11821 days ago1667280851IN
0x51292Bf7...A1A8BC067
0 ETH0.001077329.0966067
Token Out158731312022-11-01 5:32:59821 days ago1667280779IN
0x51292Bf7...A1A8BC067
0 ETH0.00371149.71785946
Coin In158730892022-11-01 5:24:23821 days ago1667280263IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.000252528.50316641
Token Out158730782022-11-01 5:22:11821 days ago1667280131IN
0x51292Bf7...A1A8BC067
0 ETH0.001796769.19142164
Coin In158730782022-11-01 5:22:11821 days ago1667280131IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0003200210.77610907
Token Out158730662022-11-01 5:19:47821 days ago1667279987IN
0x51292Bf7...A1A8BC067
0 ETH0.001317919.56899879
Coin In158730632022-11-01 5:19:11821 days ago1667279951IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0003237110.90026428
Coin In158730512022-11-01 5:16:47821 days ago1667279807IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.000341511.49932307
Token Out158730502022-11-01 5:16:35821 days ago1667279795IN
0x51292Bf7...A1A8BC067
0 ETH0.0013941410.12243678
Token Out158730352022-11-01 5:13:35821 days ago1667279615IN
0x51292Bf7...A1A8BC067
0 ETH0.0014369710.43343305
Coin In158730342022-11-01 5:13:23821 days ago1667279603IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0003400911.45164879
Token Out158730182022-11-01 5:10:11821 days ago1667279411IN
0x51292Bf7...A1A8BC067
0 ETH0.0016280911.8210865
Coin In158730182022-11-01 5:10:11821 days ago1667279411IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0003792712.77093968
Token Out158730022022-11-01 5:06:59821 days ago1667279219IN
0x51292Bf7...A1A8BC067
0 ETH0.0017574912.76061335
Coin In158730002022-11-01 5:06:35821 days ago1667279195IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0004385214.76626133
Coin In158729792022-11-01 5:02:23821 days ago1667278943IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0003825712.88233732
Token Out158729712022-11-01 5:00:47821 days ago1667278847IN
0x51292Bf7...A1A8BC067
0 ETH0.001589411.54019693
Coin In158729552022-11-01 4:57:35821 days ago1667278655IN
0x51292Bf7...A1A8BC067
0.0009 ETH0.0003297611.10394427
Token Out158729442022-11-01 4:55:23821 days ago1667278523IN
0x51292Bf7...A1A8BC067
0 ETH0.0014739810.70399084
Token Out158728982022-11-01 4:46:11821 days ago1667277971IN
0x51292Bf7...A1A8BC067
0 ETH0.0016462511.95292295
Token Out158728782022-11-01 4:42:11821 days ago1667277731IN
0x51292Bf7...A1A8BC067
0 ETH0.0017259812.53180907
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:
Risu_Bridge

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-10-26
*/

//SPDX-License-Identifier: MIT

pragma solidity 0.8.17; 

interface ERC20Essential 
{

    function balanceOf(address user) external view returns(uint256);
    function transfer(address _to, uint256 _amount) external returns (bool);
    function transferFrom(address _from, address _to, uint256 _amount) external returns (bool);

}


//USDT contract in Ethereum does not follow ERC20 standard so it needs different interface
interface usdtContract
{
    function transferFrom(address _from, address _to, uint256 _amount) external;
}




//*******************************************************************//
//------------------ Contract to Manage Ownership -------------------//
//*******************************************************************//
contract owned
{
    address public owner;
    address internal newOwner;
    mapping(address => bool) public signer;

    event OwnershipTransferred(address indexed _from, address indexed _to);
    event SignerUpdated(address indexed signer, bool indexed status);

    constructor() {
        owner = msg.sender;
        signer[msg.sender] = true;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }


    modifier onlySigner {
        require(signer[msg.sender], 'caller must be signer');
        _;
    }


    function changeSigner(address _signer, bool _status) public onlyOwner {
        signer[_signer] = _status;
        emit SignerUpdated(_signer, _status);
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }

    //the reason for this flow is to protect owners from sending ownership to unintended address due to human error
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}



    
//****************************************************************************//
//---------------------        MAIN CODE STARTS HERE     ---------------------//
//****************************************************************************//
    
contract Risu_Bridge is owned {
    
    uint256 public orderID;
    
    

    // This generates a public event of coin received by contract
    event CoinIn(uint256 indexed orderID, address indexed user, uint256 value, address outputCurrency);
    event CoinOut(uint256 indexed orderID, address indexed user, uint256 value);
    event CoinOutFailed(uint256 indexed orderID, address indexed user, uint256 value);
    event TokenIn(uint256 indexed orderID, address indexed tokenAddress, address indexed user, uint256 value, uint256 chainID, address outputCurrency);
    event TokenOut(uint256 indexed orderID, address indexed tokenAddress, address indexed user, uint256 value, uint256 chainID);
    event TokenOutFailed(uint256 indexed orderID, address indexed tokenAddress, address indexed user, uint256 value, uint256 chainID);

   

    
    receive () external payable {
        //nothing happens for incoming fund
    }
    
    function coinIn(address outputCurrency) external payable returns(bool){
        orderID++;
        emit CoinIn(orderID, msg.sender, msg.value, outputCurrency);
        return true;
    }
    
    function coinOut(address user, uint256 amount, uint256 _orderID) external onlySigner returns(bool){
        
            payable(user).transfer(amount);
            emit CoinOut(_orderID, user, amount);
        
        return true;
    }
    
    
    function tokenIn(address tokenAddress, uint256 tokenAmount, uint256 chainID, address outputCurrency) external returns(bool){
        orderID++;
        //fund will go to the owner
        if(tokenAddress == address(0xdAC17F958D2ee523a2206206994597C13D831ec7)){
            //There should be different interface for the USDT Ethereum contract
            usdtContract(tokenAddress).transferFrom(msg.sender, address(this), tokenAmount);
        }else{
            ERC20Essential(tokenAddress).transferFrom(msg.sender, address(this), tokenAmount);
        }
        emit TokenIn(orderID, tokenAddress, msg.sender, tokenAmount, chainID, outputCurrency);
        return true;
    }
    
    
    function tokenOut(address tokenAddress, address user, uint256 tokenAmount, uint256 _orderID, uint256 chainID) external onlySigner returns(bool){
       
            ERC20Essential(tokenAddress).transfer(user, tokenAmount);
            emit TokenOut(_orderID, tokenAddress, user, tokenAmount, chainID);
        
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"address","name":"outputCurrency","type":"address"}],"name":"CoinIn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"CoinOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"CoinOutFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"SignerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chainID","type":"uint256"},{"indexed":false,"internalType":"address","name":"outputCurrency","type":"address"}],"name":"TokenIn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chainID","type":"uint256"}],"name":"TokenOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":true,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chainID","type":"uint256"}],"name":"TokenOutFailed","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_signer","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"changeSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"outputCurrency","type":"address"}],"name":"coinIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"_orderID","type":"uint256"}],"name":"coinOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"orderID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"signer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"chainID","type":"uint256"},{"internalType":"address","name":"outputCurrency","type":"address"}],"name":"tokenIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"_orderID","type":"uint256"},{"internalType":"uint256","name":"chainID","type":"uint256"}],"name":"tokenOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061103b806100b86000396000f3fe6080604052600436106100955760003560e01c806381203d031161005957806381203d031461018b5780638da5cb5b146101b6578063f2fde38b146101e1578063f3a7cb611461020a578063fea54d06146102475761009c565b80630536b723146100a157806315a01045146100de578063256c1ea31461010e57806351295f011461014b57806379ba5097146101745761009c565b3661009c57005b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c39190610b58565b610284565b6040516100d59190610ba0565b60405180910390f35b6100f860048036038101906100f39190610b58565b6102a4565b6040516101059190610ba0565b60405180910390f35b34801561011a57600080fd5b5061013560048036038101906101309190610bf1565b61031a565b6040516101429190610ba0565b60405180910390f35b34801561015757600080fd5b50610172600480360381019061016d9190610c98565b61049c565b005b34801561018057600080fd5b50610189610595565b005b34801561019757600080fd5b506101a0610731565b6040516101ad9190610ce7565b60405180910390f35b3480156101c257600080fd5b506101cb610737565b6040516101d89190610d11565b60405180910390f35b3480156101ed57600080fd5b5061020860048036038101906102039190610b58565b61075b565b005b34801561021657600080fd5b50610231600480360381019061022c9190610d2c565b6107f7565b60405161023e9190610ba0565b60405180910390f35b34801561025357600080fd5b5061026e60048036038101906102699190610d93565b6109c6565b60405161027b9190610ba0565b60405180910390f35b60026020528060005260406000206000915054906101000a900460ff1681565b6000600360008154809291906102b990610e15565b91905055503373ffffffffffffffffffffffffffffffffffffffff166003547f50ed54fdff2e8028310feac14aa2e8343c5eb6ab4fb192510bd3358cbe18fb1d3485604051610309929190610e5d565b60405180910390a360019050919050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166103a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039f90610ee3565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff1660e01b81526004016103e3929190610f03565b6020604051808303816000875af1158015610402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104269190610f41565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16847f227f62390ff31ea224acc601adb99ca571aafaeef45b6528a1f75af3fdee81b08786604051610487929190610f6e565b60405180910390a46001905095945050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104f457600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167ffcaa24b1276bfa7dbf77797c0a984b9df924acbeaabd48cd2f1b0eca379b78fa60405160405180910390a35050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ef57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b357600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006003600081548092919061080c90610e15565b919050555073dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036108cc578473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161089593929190610f97565b600060405180830381600087803b1580156108af57600080fd5b505af11580156108c3573d6000803e3d6000fd5b5050505061094e565b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161090993929190610f97565b6020604051808303816000875af1158015610928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094c9190610f41565b505b3373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff166003547f8a9f5b93a9427ed2074a269336914d74d6b34dfe5679f30c5cf172f5842aa7958787876040516109b293929190610fce565b60405180910390a460019050949350505050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b90610ee3565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610a9a573d6000803e3d6000fd5b508373ffffffffffffffffffffffffffffffffffffffff16827f9651479651fe91907cee7de24a0e47091421878d660c93c6fe0d04c7b7b2404b85604051610ae29190610ce7565b60405180910390a3600190509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2582610afa565b9050919050565b610b3581610b1a565b8114610b4057600080fd5b50565b600081359050610b5281610b2c565b92915050565b600060208284031215610b6e57610b6d610af5565b5b6000610b7c84828501610b43565b91505092915050565b60008115159050919050565b610b9a81610b85565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b6000819050919050565b610bce81610bbb565b8114610bd957600080fd5b50565b600081359050610beb81610bc5565b92915050565b600080600080600060a08688031215610c0d57610c0c610af5565b5b6000610c1b88828901610b43565b9550506020610c2c88828901610b43565b9450506040610c3d88828901610bdc565b9350506060610c4e88828901610bdc565b9250506080610c5f88828901610bdc565b9150509295509295909350565b610c7581610b85565b8114610c8057600080fd5b50565b600081359050610c9281610c6c565b92915050565b60008060408385031215610caf57610cae610af5565b5b6000610cbd85828601610b43565b9250506020610cce85828601610c83565b9150509250929050565b610ce181610bbb565b82525050565b6000602082019050610cfc6000830184610cd8565b92915050565b610d0b81610b1a565b82525050565b6000602082019050610d266000830184610d02565b92915050565b60008060008060808587031215610d4657610d45610af5565b5b6000610d5487828801610b43565b9450506020610d6587828801610bdc565b9350506040610d7687828801610bdc565b9250506060610d8787828801610b43565b91505092959194509250565b600080600060608486031215610dac57610dab610af5565b5b6000610dba86828701610b43565b9350506020610dcb86828701610bdc565b9250506040610ddc86828701610bdc565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e2082610bbb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e5257610e51610de6565b5b600182019050919050565b6000604082019050610e726000830185610cd8565b610e7f6020830184610d02565b9392505050565b600082825260208201905092915050565b7f63616c6c6572206d757374206265207369676e65720000000000000000000000600082015250565b6000610ecd601583610e86565b9150610ed882610e97565b602082019050919050565b60006020820190508181036000830152610efc81610ec0565b9050919050565b6000604082019050610f186000830185610d02565b610f256020830184610cd8565b9392505050565b600081519050610f3b81610c6c565b92915050565b600060208284031215610f5757610f56610af5565b5b6000610f6584828501610f2c565b91505092915050565b6000604082019050610f836000830185610cd8565b610f906020830184610cd8565b9392505050565b6000606082019050610fac6000830186610d02565b610fb96020830185610d02565b610fc66040830184610cd8565b949350505050565b6000606082019050610fe36000830186610cd8565b610ff06020830185610cd8565b610ffd6040830184610d02565b94935050505056fea264697066735822122030415c32ee2a97d44886364e8801a284b7b2f00c05720642bdc836ea3398648864736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100955760003560e01c806381203d031161005957806381203d031461018b5780638da5cb5b146101b6578063f2fde38b146101e1578063f3a7cb611461020a578063fea54d06146102475761009c565b80630536b723146100a157806315a01045146100de578063256c1ea31461010e57806351295f011461014b57806379ba5097146101745761009c565b3661009c57005b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c39190610b58565b610284565b6040516100d59190610ba0565b60405180910390f35b6100f860048036038101906100f39190610b58565b6102a4565b6040516101059190610ba0565b60405180910390f35b34801561011a57600080fd5b5061013560048036038101906101309190610bf1565b61031a565b6040516101429190610ba0565b60405180910390f35b34801561015757600080fd5b50610172600480360381019061016d9190610c98565b61049c565b005b34801561018057600080fd5b50610189610595565b005b34801561019757600080fd5b506101a0610731565b6040516101ad9190610ce7565b60405180910390f35b3480156101c257600080fd5b506101cb610737565b6040516101d89190610d11565b60405180910390f35b3480156101ed57600080fd5b5061020860048036038101906102039190610b58565b61075b565b005b34801561021657600080fd5b50610231600480360381019061022c9190610d2c565b6107f7565b60405161023e9190610ba0565b60405180910390f35b34801561025357600080fd5b5061026e60048036038101906102699190610d93565b6109c6565b60405161027b9190610ba0565b60405180910390f35b60026020528060005260406000206000915054906101000a900460ff1681565b6000600360008154809291906102b990610e15565b91905055503373ffffffffffffffffffffffffffffffffffffffff166003547f50ed54fdff2e8028310feac14aa2e8343c5eb6ab4fb192510bd3358cbe18fb1d3485604051610309929190610e5d565b60405180910390a360019050919050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166103a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039f90610ee3565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff1660e01b81526004016103e3929190610f03565b6020604051808303816000875af1158015610402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104269190610f41565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16847f227f62390ff31ea224acc601adb99ca571aafaeef45b6528a1f75af3fdee81b08786604051610487929190610f6e565b60405180910390a46001905095945050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104f457600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167ffcaa24b1276bfa7dbf77797c0a984b9df924acbeaabd48cd2f1b0eca379b78fa60405160405180910390a35050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ef57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b357600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006003600081548092919061080c90610e15565b919050555073dac17f958d2ee523a2206206994597c13d831ec773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036108cc578473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161089593929190610f97565b600060405180830381600087803b1580156108af57600080fd5b505af11580156108c3573d6000803e3d6000fd5b5050505061094e565b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b815260040161090993929190610f97565b6020604051808303816000875af1158015610928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094c9190610f41565b505b3373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff166003547f8a9f5b93a9427ed2074a269336914d74d6b34dfe5679f30c5cf172f5842aa7958787876040516109b293929190610fce565b60405180910390a460019050949350505050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b90610ee3565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610a9a573d6000803e3d6000fd5b508373ffffffffffffffffffffffffffffffffffffffff16827f9651479651fe91907cee7de24a0e47091421878d660c93c6fe0d04c7b7b2404b85604051610ae29190610ce7565b60405180910390a3600190509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2582610afa565b9050919050565b610b3581610b1a565b8114610b4057600080fd5b50565b600081359050610b5281610b2c565b92915050565b600060208284031215610b6e57610b6d610af5565b5b6000610b7c84828501610b43565b91505092915050565b60008115159050919050565b610b9a81610b85565b82525050565b6000602082019050610bb56000830184610b91565b92915050565b6000819050919050565b610bce81610bbb565b8114610bd957600080fd5b50565b600081359050610beb81610bc5565b92915050565b600080600080600060a08688031215610c0d57610c0c610af5565b5b6000610c1b88828901610b43565b9550506020610c2c88828901610b43565b9450506040610c3d88828901610bdc565b9350506060610c4e88828901610bdc565b9250506080610c5f88828901610bdc565b9150509295509295909350565b610c7581610b85565b8114610c8057600080fd5b50565b600081359050610c9281610c6c565b92915050565b60008060408385031215610caf57610cae610af5565b5b6000610cbd85828601610b43565b9250506020610cce85828601610c83565b9150509250929050565b610ce181610bbb565b82525050565b6000602082019050610cfc6000830184610cd8565b92915050565b610d0b81610b1a565b82525050565b6000602082019050610d266000830184610d02565b92915050565b60008060008060808587031215610d4657610d45610af5565b5b6000610d5487828801610b43565b9450506020610d6587828801610bdc565b9350506040610d7687828801610bdc565b9250506060610d8787828801610b43565b91505092959194509250565b600080600060608486031215610dac57610dab610af5565b5b6000610dba86828701610b43565b9350506020610dcb86828701610bdc565b9250506040610ddc86828701610bdc565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e2082610bbb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e5257610e51610de6565b5b600182019050919050565b6000604082019050610e726000830185610cd8565b610e7f6020830184610d02565b9392505050565b600082825260208201905092915050565b7f63616c6c6572206d757374206265207369676e65720000000000000000000000600082015250565b6000610ecd601583610e86565b9150610ed882610e97565b602082019050919050565b60006020820190508181036000830152610efc81610ec0565b9050919050565b6000604082019050610f186000830185610d02565b610f256020830184610cd8565b9392505050565b600081519050610f3b81610c6c565b92915050565b600060208284031215610f5757610f56610af5565b5b6000610f6584828501610f2c565b91505092915050565b6000604082019050610f836000830185610cd8565b610f906020830184610cd8565b9392505050565b6000606082019050610fac6000830186610d02565b610fb96020830185610d02565b610fc66040830184610cd8565b949350505050565b6000606082019050610fe36000830186610cd8565b610ff06020830185610cd8565b610ffd6040830184610d02565b94935050505056fea264697066735822122030415c32ee2a97d44886364e8801a284b7b2f00c05720642bdc836ea3398648864736f6c63430008110033

Deployed Bytecode Sourcemap

2215:2472:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;861:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3170:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4339:343;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1354:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1750:196;;;;;;;;;;;;;:::i;:::-;;2258:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;802:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1523:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3634:687;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3372:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;861:38;;;;;;;;;;;;;;;;;;;;;;:::o;3170:190::-;3235:4;3251:7;;:9;;;;;;;;;:::i;:::-;;;;;;3292:10;3276:54;;3283:7;;3276:54;3304:9;3315:14;3276:54;;;;;;;:::i;:::-;;;;;;;;3348:4;3341:11;;3170:190;;;:::o;4339:343::-;4477:4;1280:6;:18;1287:10;1280:18;;;;;;;;;;;;;;;;;;;;;;;;;1272:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;4521:12:::1;4506:37;;;4544:4;4550:11;4506:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4615:4;4582:60;;4601:12;4582:60;;4591:8;4582:60;4621:11;4634:7;4582:60;;;;;;;:::i;:::-;;;;;;;;4670:4;4663:11;;4339:343:::0;;;;;;;:::o;1354:161::-;1205:5;;;;;;;;;;1191:19;;:10;:19;;;1183:28;;;;;;1453:7:::1;1435:6;:15;1442:7;1435:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;1499:7;1476:31;;1490:7;1476:31;;;;;;;;;;;;1354:161:::0;;:::o;1750:196::-;1817:8;;;;;;;;;;;1803:22;;:10;:22;;;1795:31;;;;;;1870:8;;;;;;;;;;;1842:37;;1863:5;;;;;;;;;;1842:37;;;;;;;;;;;;1898:8;;;;;;;;;;;1890:5;;:16;;;;;;;;;;;;;;;;;;1936:1;1917:8;;:21;;;;;;;;;;;;;;;;;;1750:196::o;2258:22::-;;;;:::o;802:20::-;;;;;;;;;;;;:::o;1523:102::-;1205:5;;;;;;;;;;1191:19;;:10;:19;;;1183:28;;;;;;1608:9:::1;1597:8;;:20;;;;;;;;;;;;;;;;;;1523:102:::0;:::o;3634:687::-;3752:4;3768:7;;:9;;;;;;;;;:::i;:::-;;;;;;3852:42;3828:67;;:12;:67;;;3825:371;;4006:12;3993:39;;;4033:10;4053:4;4060:11;3993:79;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3825:371;;;4118:12;4103:41;;;4145:10;4165:4;4172:11;4103:81;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3825:371;4242:10;4211:80;;4228:12;4211:80;;4219:7;;4211:80;4254:11;4267:7;4276:14;4211:80;;;;;;;;:::i;:::-;;;;;;;;4309:4;4302:11;;3634:687;;;;;;:::o;3372:244::-;3465:4;1280:6;:18;1287:10;1280:18;;;;;;;;;;;;;;;;;;;;;;;;;1272:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;3503:4:::1;3495:22;;:30;3518:6;3495:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;3563:4;3545:31;;3553:8;3545:31;3569:6;3545:31;;;;;;:::i;:::-;;;;;;;;3604:4;3597:11;;3372:244:::0;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:77::-;1640:7;1669:5;1658:16;;1603:77;;;:::o;1686:122::-;1759:24;1777:5;1759:24;:::i;:::-;1752:5;1749:35;1739:63;;1798:1;1795;1788:12;1739:63;1686:122;:::o;1814:139::-;1860:5;1898:6;1885:20;1876:29;;1914:33;1941:5;1914:33;:::i;:::-;1814:139;;;;:::o;1959:911::-;2054:6;2062;2070;2078;2086;2135:3;2123:9;2114:7;2110:23;2106:33;2103:120;;;2142:79;;:::i;:::-;2103:120;2262:1;2287:53;2332:7;2323:6;2312:9;2308:22;2287:53;:::i;:::-;2277:63;;2233:117;2389:2;2415:53;2460:7;2451:6;2440:9;2436:22;2415:53;:::i;:::-;2405:63;;2360:118;2517:2;2543:53;2588:7;2579:6;2568:9;2564:22;2543:53;:::i;:::-;2533:63;;2488:118;2645:2;2671:53;2716:7;2707:6;2696:9;2692:22;2671:53;:::i;:::-;2661:63;;2616:118;2773:3;2800:53;2845:7;2836:6;2825:9;2821:22;2800:53;:::i;:::-;2790:63;;2744:119;1959:911;;;;;;;;:::o;2876:116::-;2946:21;2961:5;2946:21;:::i;:::-;2939:5;2936:32;2926:60;;2982:1;2979;2972:12;2926:60;2876:116;:::o;2998:133::-;3041:5;3079:6;3066:20;3057:29;;3095:30;3119:5;3095:30;:::i;:::-;2998:133;;;;:::o;3137:468::-;3202:6;3210;3259:2;3247:9;3238:7;3234:23;3230:32;3227:119;;;3265:79;;:::i;:::-;3227:119;3385:1;3410:53;3455:7;3446:6;3435:9;3431:22;3410:53;:::i;:::-;3400:63;;3356:117;3512:2;3538:50;3580:7;3571:6;3560:9;3556:22;3538:50;:::i;:::-;3528:60;;3483:115;3137:468;;;;;:::o;3611:118::-;3698:24;3716:5;3698:24;:::i;:::-;3693:3;3686:37;3611:118;;:::o;3735:222::-;3828:4;3866:2;3855:9;3851:18;3843:26;;3879:71;3947:1;3936:9;3932:17;3923:6;3879:71;:::i;:::-;3735:222;;;;:::o;3963:118::-;4050:24;4068:5;4050:24;:::i;:::-;4045:3;4038:37;3963:118;;:::o;4087:222::-;4180:4;4218:2;4207:9;4203:18;4195:26;;4231:71;4299:1;4288:9;4284:17;4275:6;4231:71;:::i;:::-;4087:222;;;;:::o;4315:765::-;4401:6;4409;4417;4425;4474:3;4462:9;4453:7;4449:23;4445:33;4442:120;;;4481:79;;:::i;:::-;4442:120;4601:1;4626:53;4671:7;4662:6;4651:9;4647:22;4626:53;:::i;:::-;4616:63;;4572:117;4728:2;4754:53;4799:7;4790:6;4779:9;4775:22;4754:53;:::i;:::-;4744:63;;4699:118;4856:2;4882:53;4927:7;4918:6;4907:9;4903:22;4882:53;:::i;:::-;4872:63;;4827:118;4984:2;5010:53;5055:7;5046:6;5035:9;5031:22;5010:53;:::i;:::-;5000:63;;4955:118;4315:765;;;;;;;:::o;5086:619::-;5163:6;5171;5179;5228:2;5216:9;5207:7;5203:23;5199:32;5196:119;;;5234:79;;:::i;:::-;5196:119;5354:1;5379:53;5424:7;5415:6;5404:9;5400:22;5379:53;:::i;:::-;5369:63;;5325:117;5481:2;5507:53;5552:7;5543:6;5532:9;5528:22;5507:53;:::i;:::-;5497:63;;5452:118;5609:2;5635:53;5680:7;5671:6;5660:9;5656:22;5635:53;:::i;:::-;5625:63;;5580:118;5086:619;;;;;:::o;5711:180::-;5759:77;5756:1;5749:88;5856:4;5853:1;5846:15;5880:4;5877:1;5870:15;5897:233;5936:3;5959:24;5977:5;5959:24;:::i;:::-;5950:33;;6005:66;5998:5;5995:77;5992:103;;6075:18;;:::i;:::-;5992:103;6122:1;6115:5;6111:13;6104:20;;5897:233;;;:::o;6136:332::-;6257:4;6295:2;6284:9;6280:18;6272:26;;6308:71;6376:1;6365:9;6361:17;6352:6;6308:71;:::i;:::-;6389:72;6457:2;6446:9;6442:18;6433:6;6389:72;:::i;:::-;6136:332;;;;;:::o;6474:169::-;6558:11;6592:6;6587:3;6580:19;6632:4;6627:3;6623:14;6608:29;;6474:169;;;;:::o;6649:171::-;6789:23;6785:1;6777:6;6773:14;6766:47;6649:171;:::o;6826:366::-;6968:3;6989:67;7053:2;7048:3;6989:67;:::i;:::-;6982:74;;7065:93;7154:3;7065:93;:::i;:::-;7183:2;7178:3;7174:12;7167:19;;6826:366;;;:::o;7198:419::-;7364:4;7402:2;7391:9;7387:18;7379:26;;7451:9;7445:4;7441:20;7437:1;7426:9;7422:17;7415:47;7479:131;7605:4;7479:131;:::i;:::-;7471:139;;7198:419;;;:::o;7623:332::-;7744:4;7782:2;7771:9;7767:18;7759:26;;7795:71;7863:1;7852:9;7848:17;7839:6;7795:71;:::i;:::-;7876:72;7944:2;7933:9;7929:18;7920:6;7876:72;:::i;:::-;7623:332;;;;;:::o;7961:137::-;8015:5;8046:6;8040:13;8031:22;;8062:30;8086:5;8062:30;:::i;:::-;7961:137;;;;:::o;8104:345::-;8171:6;8220:2;8208:9;8199:7;8195:23;8191:32;8188:119;;;8226:79;;:::i;:::-;8188:119;8346:1;8371:61;8424:7;8415:6;8404:9;8400:22;8371:61;:::i;:::-;8361:71;;8317:125;8104:345;;;;:::o;8455:332::-;8576:4;8614:2;8603:9;8599:18;8591:26;;8627:71;8695:1;8684:9;8680:17;8671:6;8627:71;:::i;:::-;8708:72;8776:2;8765:9;8761:18;8752:6;8708:72;:::i;:::-;8455:332;;;;;:::o;8793:442::-;8942:4;8980:2;8969:9;8965:18;8957:26;;8993:71;9061:1;9050:9;9046:17;9037:6;8993:71;:::i;:::-;9074:72;9142:2;9131:9;9127:18;9118:6;9074:72;:::i;:::-;9156;9224:2;9213:9;9209:18;9200:6;9156:72;:::i;:::-;8793:442;;;;;;:::o;9241:::-;9390:4;9428:2;9417:9;9413:18;9405:26;;9441:71;9509:1;9498:9;9494:17;9485:6;9441:71;:::i;:::-;9522:72;9590:2;9579:9;9575:18;9566:6;9522:72;:::i;:::-;9604;9672:2;9661:9;9657:18;9648:6;9604:72;:::i;:::-;9241:442;;;;;;:::o

Swarm Source

ipfs://30415c32ee2a97d44886364e8801a284b7b2f00c05720642bdc836ea33986488

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.