Contract 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfc73464e604de1102fa6499c7eb4ca68d304f5c58a7fe10b617497cf8b553301Transfer Ownersh...146685202022-06-15 5:19:03653 days 10 hrs ago0xf080c173dd4a3a55d3524a4c93609fdbf829dbbf IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000206636622 ETH0.4481423
0xdb6fa630e7230915eaa78ba505147453e93beaec3b44c815bebae4d5f80a13eaAdd Trading Rout...85538672022-03-25 6:44:48735 days 8 hrs ago0xf080c173dd4a3a55d3524a4c93609fdbf829dbbf IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000265207838 ETH0.432720393
0xf222c9915337461579fe8173e63723d73c6df1f5de9d2c00c771d64010bcdb57Transfer Ownersh...84748082022-03-24 7:53:25736 days 7 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000178752941 ETH0.387669686
0x72795ced90894aa15b7d5acacb8235e110c55ac40707528a26d9b1a8e81e8795Add Trading Rout...25990772021-10-27 5:21:53884 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.001250833026 ETH1.080987231
0x0880db3266851413b033222628e227d0db4e482dfff48eeb9456d57d73bdb4a4Add Trading Rout...15462582021-09-24 5:17:29917 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.00077062571 ETH0.667645412
0x6aa5f6158b33059c1d13177e42e963eaaec9a95e2945dbb7cd947c46e78c19b5Enable Trading R...10187372021-09-16 5:33:45925 days 9 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000449531077 ETH0.674218406
0x11447a06a91cc24415767e9ffab4aa906c8fc6e0a0783c25b5c3e96339004f48Enable Trading R...10185492021-09-16 5:30:13925 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000448608072 ETH0.674218406
0xe5cb74fcfd6381d1c9d4d0345cc126285ee2a59218c247878c76eee245381e54Update Trading R...10185212021-09-16 5:30:13925 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000516401407 ETH0.674218406
0x74de86d3e9600bb2b06c32175fa9dc383486c11bc76dfa516a8546d2ef5d0e37Enable Trading R...10178812021-09-16 5:22:47925 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000449531077 ETH0.674218406
0x5b9e03b4ecfedfaefe08d9faa93c4b290f18219428c0afb2adc4e109e51f5c67Update Trading R...10178612021-09-16 5:20:57925 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000515460872 ETH0.674218406
0xf8461ee71ef319c61415c536e4a793a8878653a65b18d362e48f5dca1103dd26Disable Trading ...10128872021-09-16 4:20:39925 days 11 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000448602678 ETH0.674218406
0xc6b4d0034d667437cf44bc787fde3ff40b7c947bcb6c87864244f1e987a0ecb3Disable Trading ...10127842021-09-16 4:19:44925 days 11 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.0004495331 ETH0.674218406
0xfe7875f6c89750e1e823eec9c3f89543ca7124a4ffb71c3e7b915d4a977db70eDisable Trading ...10108182021-09-16 3:55:58925 days 11 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000451801987 ETH0.677610148
0x0398f86159d0345488ca200a0931306294eb26e0bbd330cff79561ccfe88a64dUpdate Trading R...9146152021-09-15 11:36:44926 days 3 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000477148473 ETH0.620732618
0xb9c5472c232904882409329bdb30af746de3b9b9176d32619f267cb43df6ca6dUpdate Trading R...9142972021-09-15 11:32:50926 days 3 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000474569329 ETH0.620732618
0x1cc03b632c52d5baceaae3c3f79acea49c2cd892812e4bb8fd2ad54a7777e912Update Trading R...9139702021-09-15 11:29:11926 days 4 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000475416629 ETH0.620732618
0x578e27f4740fe164145f9c3ea209f80b1186f141f454b97f9aed1b7fafeeb6fcAdd Trading Rout...8888252021-09-15 5:39:17926 days 9 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000744900224 ETH0.644614905
0x4fee3c90679b844ad7587dd24c32aca971d40d5f124fcd3988c439e979f0d8f0Add Trading Rout...8872372021-09-15 5:16:18926 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000752827663 ETH0.653031404
0xe39c0a0f7cbfcfec363bb04eeaa60a56ce411742fc85f5038fc7aef4f573dfdcAdd Trading Rout...8870972021-09-15 5:12:50926 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000750113665 ETH0.653031404
0x7883684a70a5618d3392d7fc1f360451696266e751918aab242c6e168d2ff3efAdd Trading Rout...8866662021-09-15 5:05:26926 days 10 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000750999828 ETH0.653031404
0x34c0311962a8fdfe2817bcc05881ec88f30531d65983c6346d6d741d8ad49fd2Add Trading Rout...8151702021-09-14 11:42:22927 days 3 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.000751100081 ETH0.653118579
0xa1e85668ac4bf4b3590e15bf1733b4cf121c448d424d116015d63c76e6addaf2Add Trading Rout...2612702021-09-03 2:46:46938 days 12 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.001335508216 ETH1.165789136
0x95063265b858e40e32823a380c34603ad8872fc3acd747365850a264f5912283Add Trading Rout...2558592021-09-02 12:06:56939 days 3 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH0.001429516049 ETH1.05697239
0x671d950a547415ba3edfe84924b29fe3c09b2e1bdde72d87c037767f8a3ee7cf0x608060402556222021-09-02 11:50:33939 days 3 hrs ago0x5e12ae8e436cd25f0041d931f8e4c7a3bb42cc1f IN  Create: WardenCosmoCore0 ETH0.031854309479 ETH1.07185041
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5b7b09c65d65740533864d03bf35fe2b43818d4b61600b7c99ea7d66c9dad13c113059142022-05-06 7:20:32693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x702281ca0335c34beb9e6169e046eeffe983c4c6b1fd7b12771ea444a9e221b1113054822022-05-06 7:14:53693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe5151997a2ec003dd2b47406ff4729306dbcf05322304fcbb6f33523b34d4cc6113052422022-05-06 7:10:15693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x836e6779c4cbcbfef0c7b8b12d4353658470792dcca39686296564fc2c671aef113050112022-05-06 7:07:23693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x836e6779c4cbcbfef0c7b8b12d4353658470792dcca39686296564fc2c671aef113050112022-05-06 7:07:23693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x836e6779c4cbcbfef0c7b8b12d4353658470792dcca39686296564fc2c671aef113050112022-05-06 7:07:23693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x67849a2f96fee03d3cc866f07e50ea9ba4984a49c33d37bd44584d15cce508ab113046782022-05-06 7:02:16693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x67849a2f96fee03d3cc866f07e50ea9ba4984a49c33d37bd44584d15cce508ab113046782022-05-06 7:02:16693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x67849a2f96fee03d3cc866f07e50ea9ba4984a49c33d37bd44584d15cce508ab113046782022-05-06 7:02:16693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x8efda677fa84298594b2bf1dc1e0c247faaf9d2c9d714a40ffe629041662dd97113044992022-05-06 6:58:24693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x8bdc4e6f58e09e1b7f4ca2d6c5ec64fe2dfd59e5f5425d08251a1df35fef6639113043592022-05-06 6:58:24693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x8bdc4e6f58e09e1b7f4ca2d6c5ec64fe2dfd59e5f5425d08251a1df35fef6639113043592022-05-06 6:58:24693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x8bdc4e6f58e09e1b7f4ca2d6c5ec64fe2dfd59e5f5425d08251a1df35fef6639113043592022-05-06 6:58:24693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x366dae4221ad2a9ac15d06f2c3cadc9799cf26148bba88bca97775c2a2ad8f94113040812022-05-06 6:52:43693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0x56f3dc25c1c00d411516744c87013b852e7c6602ac66fe47d3fbfd7212ca6443113037982022-05-06 6:48:21693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe81b1b6823c3393ea03473c840469e553163e487317c5be3b07898c6dbdb0cc0113037682022-05-06 6:46:44693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe81b1b6823c3393ea03473c840469e553163e487317c5be3b07898c6dbdb0cc0113037682022-05-06 6:46:44693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe81b1b6823c3393ea03473c840469e553163e487317c5be3b07898c6dbdb0cc0113037682022-05-06 6:46:44693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe81b1b6823c3393ea03473c840469e553163e487317c5be3b07898c6dbdb0cc0113037682022-05-06 6:46:44693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe81b1b6823c3393ea03473c840469e553163e487317c5be3b07898c6dbdb0cc0113037682022-05-06 6:46:44693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe68f9eb5fb332638664fc21a3bf23a9af011baa4dcb885ea8283f6f49182ccb5113034372022-05-06 6:41:49693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe68f9eb5fb332638664fc21a3bf23a9af011baa4dcb885ea8283f6f49182ccb5113034372022-05-06 6:41:49693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xe68f9eb5fb332638664fc21a3bf23a9af011baa4dcb885ea8283f6f49182ccb5113034372022-05-06 6:41:49693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xdf1c62eb69cf85f6ca893a2b018a572690cb0d046611f6eeeb4adc29f19c45d0113032702022-05-06 6:38:26693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
0xdf1c62eb69cf85f6ca893a2b018a572690cb0d046611f6eeeb4adc29f19c45d0113032702022-05-06 6:38:26693 days 8 hrs ago WardenSwap: V1.5 Router 0x1a5f88fb85bd2b5eb1b5dc738ae02a5f0a69729f0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WardenCosmoCore

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Arbiscan.io on 2021-09-02
*/

// SPDX-License-Identifier: MIT

// ((/*,                                                                    ,*((/,.
// &&@@&&%#/*.                                                        .*(#&&@@@@%. 
// &&@@@@@@@&%(.                                                    ,#%&@@@@@@@@%. 
// &&@@@@@@@@@&&(,                                                ,#&@@@@@@@@@@@%. 
// &&@@@@@@@@@@@&&/.                                            .(&&@@@@@@@@@@@@%. 
// %&@@@@@@@@@@@@@&(,                                          *#&@@@@@@@@@@@@@@%. 
// #&@@@@@@@@@@@@@@&#*                                       .*#@@@@@@@@@@@@@@@&#. 
// #&@@@@@@@@@@@@@@@@#.                                      ,%&@@@@@@@@@@@@@@@&#. 
// #&@@@@@@@@@@@@@@@@%(,                                    ,(&@@@@@@@@@@@@@@@@&#. 
// #&@@@@@@@@@@@@@@@@&&/                                   .(%&@@@@@@@@@@@@@@@@&#. 
// #%@@@@@@@@@@@@@@@@@@(.               ,(/,.              .#&@@@@@@@@@@@@@@@@@&#. 
// (%@@@@@@@@@@@@@@@@@@#*.            ./%&&&/.            .*%@@@@@@@@@@@@@@@@@@%(. 
// (%@@@@@@@@@@@@@@@@@@#*.           *#&@@@@&%*.          .*%@@@@@@@@@@@@@@@@@@%(. 
// (%@@@@@@@@@@@@@@@@@@#/.         ./#@@@@@@@@%(.         ./%@@@@@@@@@@@@@@@@@@%(. 
// (%@@@@@@@@@@@@@@@@@@#/.        ./&@@@@@@@@@@&(*        ,/%@@@@@@@@@@@@@@@@@@%(. 
// (%@@@@@@@@@@@@@@@@@@%/.       ,#&@@@@@@@@@@@@&#,.      ,/%@@@@@@@@@@@@@@@@@@%(. 
// /%@@@@@@@@@@@@@@@@@@#/.      *(&@@@@@@@@@@@@@@&&*      ./%@@@@@@@@@@@@@@@@@&%(. 
// /%@@@@@@@@@@@@@@@@@@#/.     .(&@@@@@@@@@@@@@@@@@#*.    ,/%@@@@@@@@@@@@@@@@@&#/. 
// ,#@@@@@@@@@@@@@@@@@@#/.    ./%@@@@@@@@@@@@@@@@@@&#,    ,/%@@@@@@@@@@@@@@@@@&(,  
//  /%&@@@@@@@@@@@@@@@@#/.    *#&@@@@@@@@@@@@@@@@@@@&*    ,/%@@@@@@@@@@@@@@@@&%*   
//  .*#&@@@@@@@@@@@@@@@#/.    /&&@@@@@@@@@@@@@@@@@@@&/.   ,/%@@@@@@@@@@@@@@@@#*.   
//    ,(&@@@@@@@@@@@@@@#/.    /@@@@@@@@@@@@@@@@@@@@@&(,   ,/%@@@@@@@@@@@@@@%(,     
//     .*(&&@@@@@@@@@@@#/.    /&&@@@@@@@@@@@@@@@@@@@&/,   ,/%@@@@@@@@@@@&%/,       
//        ./%&@@@@@@@@@#/.    *#&@@@@@@@@@@@@@@@@@@@%*    ,/%@@@@@@@@@&%*          
//           ,/#%&&@@@@#/.     ,#&@@@@@@@@@@@@@@@@@#/.    ,/%@@@@&&%(/,            
//               ./#&@@%/.      ,/&@@@@@@@@@@@@@@%(,      ,/%@@%#*.                
//                   .,,,         ,/%&@@@@@@@@&%(*        .,,,.                    
//                                   ,/%&@@@%(*.                                   
//  .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**((/*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
//                                                                                                                                                                                                                                                                                                            
//                                                                                             

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: wx/libraries/IWardenTradingRoute0_8.sol

pragma solidity ^0.8.0;


/**
 * @title Warden Trading Route
 * @dev The Warden trading route interface has an standard functions and event
 * for other smart contract to implement to join Warden Swap as Market Maker.
 */
interface IWardenTradingRoute {
    /**
    * @dev when new trade occure (and success), this event will be boardcast.
    * @param _src Source token
    * @param _srcAmount amount of source tokens
    * @param _dest   Destination token
    * @param _destAmount: amount of actual destination tokens
    */
    event Trade(
        IERC20 indexed _src,
        uint256 _srcAmount,
        IERC20 indexed _dest,
        uint256 _destAmount
    );

    /**
    * @notice use token address 0xeee...eee for ether
    * @dev makes a trade between src and dest token
    * @param _src Source token
    * @param _dest   Destination token
    * @param _srcAmount amount of source tokens
    ** @return _destAmount: amount of actual destination tokens
    */
    function trade(
        IERC20 _src,
        IERC20 _dest,
        uint256 _srcAmount,
        address receiver
    )
        external
        payable
        returns(uint256 _destAmount);

    /**
    * @dev provide destinationm token amount for given source amount
    * @param _src Source token
    * @param _dest Destination token
    * @param _srcAmount Amount of source tokens
    ** @return _destAmount: amount of expected destination tokens
    */
    function getDestinationReturnAmount(
        IERC20 _src,
        IERC20 _dest,
        uint256 _srcAmount
    )
        external
        returns(uint256 _destAmount);

    function getDepositAddress(
        IERC20 _src,
        IERC20 _dest
    )
        external
        view
        returns(address _target);
}

// File: wx/interface/IWardenCosmoCore0_8.sol

pragma solidity ^0.8.0;


interface IWardenCosmoCore {
    /**
    * @dev Struct of trading route
    * @param name Name of trading route.
    * @param enable The flag of trading route to check is trading route enable.
    * @param route The address of trading route.
    */
    struct Route {
      string name;
      bool enable;
      IWardenTradingRoute route;
    }

    event AddedTradingRoute(
        address indexed addedBy,
        string name,
        IWardenTradingRoute indexed routingAddress,
        uint256 indexed index
    );
    
    event UpdatedTradingRoute(
        address indexed updatedBy,
        string name,
        IWardenTradingRoute indexed routingAddress,
        uint256 indexed index
    );

    event EnabledTradingRoute(
        address indexed enabledBy,
        string name,
        IWardenTradingRoute indexed routingAddress,
        uint256 indexed index
    );

    event DisabledTradingRoute(
        address indexed disabledBy,
        string name,
        IWardenTradingRoute indexed routingAddress,
        uint256 indexed index
    );
    
    function tradingRoutes(uint256 _index) external view returns (Route memory);
    function allRoutesLength() external view returns (uint256);
    function isTradingRouteEnabled(uint256 _index) external view returns (bool);
}

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.2.0/contracts/utils/Context.sol



pragma solidity ^0.8.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 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.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.2.0/contracts/access/Ownable.sol



pragma solidity ^0.8.0;


/**
 * @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.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * 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.
 */
abstract 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() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: wx/libraries/WardenCosmoCore.sol

pragma solidity ^0.8.0;



contract WardenCosmoCore is Ownable, IWardenCosmoCore {
    Route[] private _tradingRoutes; // list of trading routes

    modifier onlyTradingRouteEnabled(uint _index) {
        require(_tradingRoutes[_index].enable, "This trading route is disabled");
        _;
    }

    modifier onlyTradingRouteDisabled(uint _index) {
        require(!_tradingRoutes[_index].enable, "This trading route is enabled");
        _;
    }

    /**
    * @dev Function for adding new trading route
    * @param _name Name of trading route.
    * @param _routingAddress The address of trading route.
    ** @return length of trading routes.
    */
    function addTradingRoute(
        string calldata _name,
        IWardenTradingRoute _routingAddress
    )
      external
      onlyOwner
    {
        _tradingRoutes.push(Route({
            name: _name,
            enable: true,
            route: _routingAddress
        }));
        emit AddedTradingRoute(msg.sender, _name, _routingAddress, _tradingRoutes.length - 1);
    }
    
    /**
    * @dev Function for updating existing trading route
    * @param _index The uint256 of trading route index.
    * @param _name Name of trading route.
    * @param _route The address of trading route.
    */
    function updateTradingRoute(
        uint256 _index,
        string calldata _name,
        IWardenTradingRoute _route
    )
        external
        onlyOwner
    {
        _tradingRoutes[_index].name = _name;
        _tradingRoutes[_index].route = _route;
        emit UpdatedTradingRoute(msg.sender, _name, _route, _index);
    }

    /**
    * @dev Function for disable trading route by index
    * @param _index The uint256 of trading route index.
    ** @return length of trading routes.
    */
    function disableTradingRoute(
        uint256 _index
    )
        external
        onlyOwner
        onlyTradingRouteEnabled(_index)
    {
        _tradingRoutes[_index].enable = false;
        emit DisabledTradingRoute(msg.sender, _tradingRoutes[_index].name, _tradingRoutes[_index].route, _index);
    }

    /**
    * @dev Function for enale trading route by index
    * @param _index The uint256 of trading route index.
    ** @return length of trading routes.
    */
    function enableTradingRoute(
        uint256 _index
    )
        external
        onlyOwner
        onlyTradingRouteDisabled(_index)
    {
        _tradingRoutes[_index].enable = true;
        emit EnabledTradingRoute(msg.sender, _tradingRoutes[_index].name, _tradingRoutes[_index].route, _index);
    }
    
    /**
    * @dev return trading route info
    */
    function tradingRoutes(
        uint256 _index
    )
        external
        override
        view
        returns (Route memory)
    {
        return _tradingRoutes[_index];
    }

    /**
    * @dev Function for get amount of trading route
    * @return Amount of trading routes.
    */
    function allRoutesLength() external override view returns (uint256) {
        return _tradingRoutes.length;
    }

    /**
    * @dev Function for get enable status of trading route
    * @param _index The uint256 of trading route index.
    * @return enable status of trading route.
    */
    function isTradingRouteEnabled(uint256 _index) external override view returns (bool) {
        return _tradingRoutes[_index].enable;
    }
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addedBy","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":true,"internalType":"contract IWardenTradingRoute","name":"routingAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"}],"name":"AddedTradingRoute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"disabledBy","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":true,"internalType":"contract IWardenTradingRoute","name":"routingAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"}],"name":"DisabledTradingRoute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"enabledBy","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":true,"internalType":"contract IWardenTradingRoute","name":"routingAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"}],"name":"EnabledTradingRoute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"updatedBy","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":true,"internalType":"contract IWardenTradingRoute","name":"routingAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"}],"name":"UpdatedTradingRoute","type":"event"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"contract IWardenTradingRoute","name":"_routingAddress","type":"address"}],"name":"addTradingRoute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allRoutesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"disableTradingRoute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"enableTradingRoute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"isTradingRouteEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tradingRoutes","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"enable","type":"bool"},{"internalType":"contract IWardenTradingRoute","name":"route","type":"address"}],"internalType":"struct IWardenCosmoCore.Route","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"contract IWardenTradingRoute","name":"_route","type":"address"}],"name":"updateTradingRoute","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610dc78061007e6000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c80634ddf0bce146100935780635a9b50e0146100a8578063715018a6146100bb5780638da5cb5b146100c3578063b0cf0721146100e8578063b81f7505146100fb578063e254a4f31461010c578063e405a4061461012c578063f2fde38b1461013f578063f4de0d4f14610152575b600080fd5b6100a66100a1366004610b1a565b610175565b005b6100a66100b6366004610aab565b61027a565b6100a66103d0565b6100cb61040b565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a66100f6366004610b01565b61041a565b6001546040519081526020016100df565b61011f61011a366004610b01565b6105a7565b6040516100df9190610c84565b6100a661013a366004610b01565b6106ad565b6100a661014d366004610a87565b610810565b610165610160366004610b01565b6108b0565b60405190151581526020016100df565b3361017e61040b565b6001600160a01b0316146101ad5760405162461bcd60e51b81526004016101a490610c4f565b60405180910390fd5b8282600186815481106101c2576101c2610d66565b600091825260209091206101dc9360029092020191610932565b5080600185815481106101f1576101f1610d66565b906000526020600020906002020160010160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555083816001600160a01b0316336001600160a01b03167f9adb91c45b06f29d7d54533daaa319c7e7843e45edee7f0cc85b6ab5bda9cb36868660405161026c929190610b78565b60405180910390a450505050565b3361028361040b565b6001600160a01b0316146102a95760405162461bcd60e51b81526004016101a490610c4f565b6040805160806020601f8601819004028201810190925260608101848152600192829190879087908190850183828082843760009201829052509385525050600160208085018290526001600160a01b03881660409095019490945285549081018655948252508190208251805193946002029091019261032d92849201906109b6565b506020820151600191820180546040909401516001600160a01b031661010002610100600160a81b0319921515929092166001600160a81b03199094169390931717909155805461037e9190610d06565b816001600160a01b0316336001600160a01b03167fe50f1a4b29420cb0144d8fbaa9aa5d75b03b32b5abd03553588c9f40baf970bf86866040516103c3929190610b78565b60405180910390a4505050565b336103d961040b565b6001600160a01b0316146103ff5760405162461bcd60e51b81526004016101a490610c4f565b61040960006108e2565b565b6000546001600160a01b031690565b3361042361040b565b6001600160a01b0316146104495760405162461bcd60e51b81526004016101a490610c4f565b806001818154811061045d5761045d610d66565b600091825260209091206001600290920201015460ff166104c05760405162461bcd60e51b815260206004820152601e60248201527f546869732074726164696e6720726f7574652069732064697361626c6564000060448201526064016101a4565b6000600183815481106104d5576104d5610d66565b906000526020600020906002020160010160006101000a81548160ff021916908315150217905550816001838154811061051157610511610d66565b906000526020600020906002020160010160019054906101000a90046001600160a01b03166001600160a01b0316336001600160a01b03167f522343fed4da4ad88198645bf4de396fd09d83359b80334e5cab68eba80cd59e6001868154811061057d5761057d610d66565b906000526020600020906002020160000160405161059b9190610ba7565b60405180910390a45050565b6040805160608082018352815260006020820181905291810191909152600182815481106105d7576105d7610d66565b906000526020600020906002020160405180606001604052908160008201805461060090610d2b565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610d2b565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b50505091835250506001919091015460ff81161515602083015261010090046001600160a01b031660409091015292915050565b336106b661040b565b6001600160a01b0316146106dc5760405162461bcd60e51b81526004016101a490610c4f565b80600181815481106106f0576106f0610d66565b600091825260209091206001600290920201015460ff16156107545760405162461bcd60e51b815260206004820152601d60248201527f546869732074726164696e6720726f75746520697320656e61626c656400000060448201526064016101a4565b600180838154811061076857610768610d66565b906000526020600020906002020160010160006101000a81548160ff02191690831515021790555081600183815481106107a4576107a4610d66565b906000526020600020906002020160010160019054906101000a90046001600160a01b03166001600160a01b0316336001600160a01b03167fe18f2d774ca2ed7ecfb01f8117b026c2c909e254f21f9d50461b1a7c1b1454056001868154811061057d5761057d610d66565b3361081961040b565b6001600160a01b03161461083f5760405162461bcd60e51b81526004016101a490610c4f565b6001600160a01b0381166108a45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101a4565b6108ad816108e2565b50565b6000600182815481106108c5576108c5610d66565b600091825260209091206001600290920201015460ff1692915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805461093e90610d2b565b90600052602060002090601f01602090048101928261096057600085556109a6565b82601f106109795782800160ff198235161785556109a6565b828001600101855582156109a6579182015b828111156109a657823582559160200191906001019061098b565b506109b2929150610a2a565b5090565b8280546109c290610d2b565b90600052602060002090601f0160209004810192826109e457600085556109a6565b82601f106109fd57805160ff19168380011785556109a6565b828001600101855582156109a6579182015b828111156109a6578251825591602001919060010190610a0f565b5b808211156109b25760008155600101610a2b565b60008083601f840112610a5157600080fd5b5081356001600160401b03811115610a6857600080fd5b602083019150836020828501011115610a8057600080fd5b9250929050565b600060208284031215610a9957600080fd5b8135610aa481610d7c565b9392505050565b600080600060408486031215610ac057600080fd5b83356001600160401b03811115610ad657600080fd5b610ae286828701610a3f565b9094509250506020840135610af681610d7c565b809150509250925092565b600060208284031215610b1357600080fd5b5035919050565b60008060008060608587031215610b3057600080fd5b8435935060208501356001600160401b03811115610b4d57600080fd5b610b5987828801610a3f565b9094509250506040850135610b6d81610d7c565b939692955090935050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600060208083526000845481600182811c915080831680610bc957607f831692505b858310811415610be757634e487b7160e01b85526022600452602485fd5b878601838152602001818015610c045760018114610c1557610c40565b60ff19861682528782019650610c40565b60008b81526020902060005b86811015610c3a57815484820152908501908901610c21565b83019750505b50949998505050505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208083528351606082850152805180608086015260005b81811015610cba5782810184015186820160a001528301610c9e565b81811115610ccc57600060a083880101525b509185015180151560408601529160408601516001600160a01b03811660608701529250601f01601f19169390930160a001949350505050565b600082821015610d2657634e487b7160e01b600052601160045260246000fd5b500390565b600181811c90821680610d3f57607f821691505b60208210811415610d6057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146108ad57600080fdfea26469706673582212209ebff572fafac3c027dc93b73403a6300baa7f6f872bb43124509af52f6f718f64736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061008e5760003560e01c80634ddf0bce146100935780635a9b50e0146100a8578063715018a6146100bb5780638da5cb5b146100c3578063b0cf0721146100e8578063b81f7505146100fb578063e254a4f31461010c578063e405a4061461012c578063f2fde38b1461013f578063f4de0d4f14610152575b600080fd5b6100a66100a1366004610b1a565b610175565b005b6100a66100b6366004610aab565b61027a565b6100a66103d0565b6100cb61040b565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a66100f6366004610b01565b61041a565b6001546040519081526020016100df565b61011f61011a366004610b01565b6105a7565b6040516100df9190610c84565b6100a661013a366004610b01565b6106ad565b6100a661014d366004610a87565b610810565b610165610160366004610b01565b6108b0565b60405190151581526020016100df565b3361017e61040b565b6001600160a01b0316146101ad5760405162461bcd60e51b81526004016101a490610c4f565b60405180910390fd5b8282600186815481106101c2576101c2610d66565b600091825260209091206101dc9360029092020191610932565b5080600185815481106101f1576101f1610d66565b906000526020600020906002020160010160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555083816001600160a01b0316336001600160a01b03167f9adb91c45b06f29d7d54533daaa319c7e7843e45edee7f0cc85b6ab5bda9cb36868660405161026c929190610b78565b60405180910390a450505050565b3361028361040b565b6001600160a01b0316146102a95760405162461bcd60e51b81526004016101a490610c4f565b6040805160806020601f8601819004028201810190925260608101848152600192829190879087908190850183828082843760009201829052509385525050600160208085018290526001600160a01b03881660409095019490945285549081018655948252508190208251805193946002029091019261032d92849201906109b6565b506020820151600191820180546040909401516001600160a01b031661010002610100600160a81b0319921515929092166001600160a81b03199094169390931717909155805461037e9190610d06565b816001600160a01b0316336001600160a01b03167fe50f1a4b29420cb0144d8fbaa9aa5d75b03b32b5abd03553588c9f40baf970bf86866040516103c3929190610b78565b60405180910390a4505050565b336103d961040b565b6001600160a01b0316146103ff5760405162461bcd60e51b81526004016101a490610c4f565b61040960006108e2565b565b6000546001600160a01b031690565b3361042361040b565b6001600160a01b0316146104495760405162461bcd60e51b81526004016101a490610c4f565b806001818154811061045d5761045d610d66565b600091825260209091206001600290920201015460ff166104c05760405162461bcd60e51b815260206004820152601e60248201527f546869732074726164696e6720726f7574652069732064697361626c6564000060448201526064016101a4565b6000600183815481106104d5576104d5610d66565b906000526020600020906002020160010160006101000a81548160ff021916908315150217905550816001838154811061051157610511610d66565b906000526020600020906002020160010160019054906101000a90046001600160a01b03166001600160a01b0316336001600160a01b03167f522343fed4da4ad88198645bf4de396fd09d83359b80334e5cab68eba80cd59e6001868154811061057d5761057d610d66565b906000526020600020906002020160000160405161059b9190610ba7565b60405180910390a45050565b6040805160608082018352815260006020820181905291810191909152600182815481106105d7576105d7610d66565b906000526020600020906002020160405180606001604052908160008201805461060090610d2b565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610d2b565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b50505091835250506001919091015460ff81161515602083015261010090046001600160a01b031660409091015292915050565b336106b661040b565b6001600160a01b0316146106dc5760405162461bcd60e51b81526004016101a490610c4f565b80600181815481106106f0576106f0610d66565b600091825260209091206001600290920201015460ff16156107545760405162461bcd60e51b815260206004820152601d60248201527f546869732074726164696e6720726f75746520697320656e61626c656400000060448201526064016101a4565b600180838154811061076857610768610d66565b906000526020600020906002020160010160006101000a81548160ff02191690831515021790555081600183815481106107a4576107a4610d66565b906000526020600020906002020160010160019054906101000a90046001600160a01b03166001600160a01b0316336001600160a01b03167fe18f2d774ca2ed7ecfb01f8117b026c2c909e254f21f9d50461b1a7c1b1454056001868154811061057d5761057d610d66565b3361081961040b565b6001600160a01b03161461083f5760405162461bcd60e51b81526004016101a490610c4f565b6001600160a01b0381166108a45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101a4565b6108ad816108e2565b50565b6000600182815481106108c5576108c5610d66565b600091825260209091206001600290920201015460ff1692915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805461093e90610d2b565b90600052602060002090601f01602090048101928261096057600085556109a6565b82601f106109795782800160ff198235161785556109a6565b828001600101855582156109a6579182015b828111156109a657823582559160200191906001019061098b565b506109b2929150610a2a565b5090565b8280546109c290610d2b565b90600052602060002090601f0160209004810192826109e457600085556109a6565b82601f106109fd57805160ff19168380011785556109a6565b828001600101855582156109a6579182015b828111156109a6578251825591602001919060010190610a0f565b5b808211156109b25760008155600101610a2b565b60008083601f840112610a5157600080fd5b5081356001600160401b03811115610a6857600080fd5b602083019150836020828501011115610a8057600080fd5b9250929050565b600060208284031215610a9957600080fd5b8135610aa481610d7c565b9392505050565b600080600060408486031215610ac057600080fd5b83356001600160401b03811115610ad657600080fd5b610ae286828701610a3f565b9094509250506020840135610af681610d7c565b809150509250925092565b600060208284031215610b1357600080fd5b5035919050565b60008060008060608587031215610b3057600080fd5b8435935060208501356001600160401b03811115610b4d57600080fd5b610b5987828801610a3f565b9094509250506040850135610b6d81610d7c565b939692955090935050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600060208083526000845481600182811c915080831680610bc957607f831692505b858310811415610be757634e487b7160e01b85526022600452602485fd5b878601838152602001818015610c045760018114610c1557610c40565b60ff19861682528782019650610c40565b60008b81526020902060005b86811015610c3a57815484820152908501908901610c21565b83019750505b50949998505050505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208083528351606082850152805180608086015260005b81811015610cba5782810184015186820160a001528301610c9e565b81811115610ccc57600060a083880101525b509185015180151560408601529160408601516001600160a01b03811660608701529250601f01601f19169390930160a001949350505050565b600082821015610d2657634e487b7160e01b600052601160045260246000fd5b500390565b600181811c90821680610d3f57607f821691505b60208210811415610d6057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146108ad57600080fdfea26469706673582212209ebff572fafac3c027dc93b73403a6300baa7f6f872bb43124509af52f6f718f64736f6c63430008070033

Deployed ByteCode Sourcemap

12255:3434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13537:343;;;;;;:::i;:::-;;:::i;:::-;;12908:392;;;;;;:::i;:::-;;:::i;11550:94::-;;;:::i;10899:87::-;;;:::i;:::-;;;-1:-1:-1;;;;;2418:32:1;;;2400:51;;2388:2;2373:18;10899:87:0;;;;;;;;14060:315;;;;;;:::i;:::-;;:::i;15242:115::-;15328:14;:21;15242:115;;6848:25:1;;;6836:2;6821:18;15242:115:0;6702:177:1;14933:190:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;14553:313::-;;;;;;:::i;:::-;;:::i;11799:192::-;;;;;;:::i;:::-;;:::i;15546:140::-;;;;;;:::i;:::-;;:::i;:::-;;;2627:14:1;;2620:22;2602:41;;2590:2;2575:18;15546:140:0;2462:187:1;13537:343:0;9714:10;11119:7;:5;:7::i;:::-;-1:-1:-1;;;;;11119:23:0;;11111:68;;;;-1:-1:-1;;;11111:68:0;;;;;;;:::i;:::-;;;;;;;;;13749:5:::1;;13719:14;13734:6;13719:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:35:::1;::::0;:22:::1;::::0;;::::1;;::::0;:35:::1;:::i;:::-;;13796:6;13765:14;13780:6;13765:22;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;:37;;;;;-1:-1:-1::0;;;;;13765:37:0::1;;;;;-1:-1:-1::0;;;;;13765:37:0::1;;;;;;13865:6;13857;-1:-1:-1::0;;;;;13818:54:0::1;13838:10;-1:-1:-1::0;;;;;13818:54:0::1;;13850:5;;13818:54;;;;;;;:::i;:::-;;;;;;;;13537:343:::0;;;;:::o;12908:392::-;9714:10;11119:7;:5;:7::i;:::-;-1:-1:-1;;;;;11119:23:0;;11111:68;;;;-1:-1:-1;;;11111:68:0;;;;;;;:::i;:::-;13087:108:::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;;::::0;;;;;;;::::1;::::0;::::1;::::0;;;13067:14:::1;::::0;13087:108;;;13114:5;;;;;;13087:108;;13114:5;;;;13087:108;::::1;;::::0;::::1;::::0;;;-1:-1:-1;13087:108:0;;;-1:-1:-1;;13142:4:0::1;13087:108;::::0;;::::1;::::0;;;-1:-1:-1;;;;;13087:108:0;::::1;::::0;;;;;;;;13067:129;;;;::::1;::::0;;;;;-1:-1:-1;13067:129:0;;;;;;;;;::::1;;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;13067:129:0::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;;;;;13067:129:0::1;;;-1:-1:-1::0;;;;;;13067:129:0;::::1;;::::0;;;;-1:-1:-1;;;;;;13067:129:0;;;;;;;::::1;::::0;;;13266:21;;:25:::1;::::0;13067:129;13266:25:::1;:::i;:::-;13249:15;-1:-1:-1::0;;;;;13212:80:0::1;13230:10;-1:-1:-1::0;;;;;13212:80:0::1;;13242:5;;13212:80;;;;;;;:::i;:::-;;;;;;;;12908:392:::0;;;:::o;11550:94::-;9714:10;11119:7;:5;:7::i;:::-;-1:-1:-1;;;;;11119:23:0;;11111:68;;;;-1:-1:-1;;;11111:68:0;;;;;;;:::i;:::-;11615:21:::1;11633:1;11615:9;:21::i;:::-;11550:94::o:0;10899:87::-;10945:7;10972:6;-1:-1:-1;;;;;10972:6:0;;10899:87::o;14060:315::-;9714:10;11119:7;:5;:7::i;:::-;-1:-1:-1;;;;;11119:23:0;;11111:68;;;;-1:-1:-1;;;11111:68:0;;;;;;;:::i;:::-;14191:6:::1;12446:14;12461:6;12446:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:29:::1;:22;::::0;;::::1;;:29;::::0;::::1;;12438:72;;;::::0;-1:-1:-1;;;12438:72:0;;5207:2:1;12438:72:0::1;::::0;::::1;5189:21:1::0;5246:2;5226:18;;;5219:30;5285:32;5265:18;;;5258:60;5335:18;;12438:72:0::1;5005:354:1::0;12438:72:0::1;14247:5:::2;14215:14;14230:6;14215:22;;;;;;;;:::i;:::-;;;;;;;;;;;:29;;;:37;;;;;;;;;;;;;;;;;;14360:6;14330:14;14345:6;14330:22;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;;;;;;;;-1:-1:-1::0;;;;;14330:28:0::2;-1:-1:-1::0;;;;;14268:99:0::2;14289:10;-1:-1:-1::0;;;;;14268:99:0::2;;14301:14;14316:6;14301:22;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;14268:99;;;;;;:::i;:::-;;;;;;;;11190:1:::1;14060:315:::0;:::o;14933:190::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;15093:14:0;15108:6;15093:22;;;;;;;;:::i;:::-;;;;;;;;;;;15086:29;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15086:29:0;;;-1:-1:-1;;15086:29:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15086:29:0;;;;;;;;-1:-1:-1;;14933:190:0:o;14553:313::-;9714:10;11119:7;:5;:7::i;:::-;-1:-1:-1;;;;;11119:23:0;;11111:68;;;;-1:-1:-1;;;11111:68:0;;;;;;;:::i;:::-;14684:6:::1;12605:14;12620:6;12605:22;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:29:::1;:22;::::0;;::::1;;:29;::::0;::::1;;12604:30;12596:72;;;::::0;-1:-1:-1;;;12596:72:0;;4849:2:1;12596:72:0::1;::::0;::::1;4831:21:1::0;4888:2;4868:18;;;4861:30;4927:31;4907:18;;;4900:59;4976:18;;12596:72:0::1;4647:353:1::0;12596:72:0::1;14740:4:::2;14708:14:::0;14723:6:::2;14708:22;;;;;;;;:::i;:::-;;;;;;;;;;;:29;;;:36;;;;;;;;;;;;;;;;;;14851:6;14821:14;14836:6;14821:22;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;;;;;;;;-1:-1:-1::0;;;;;14821:28:0::2;-1:-1:-1::0;;;;;14760:98:0::2;14780:10;-1:-1:-1::0;;;;;14760:98:0::2;;14792:14;14807:6;14792:22;;;;;;;;:::i;11799:192::-:0;9714:10;11119:7;:5;:7::i;:::-;-1:-1:-1;;;;;11119:23:0;;11111:68;;;;-1:-1:-1;;;11111:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11888:22:0;::::1;11880:73;;;::::0;-1:-1:-1;;;11880:73:0;;4442:2:1;11880:73:0::1;::::0;::::1;4424:21:1::0;4481:2;4461:18;;;4454:30;4520:34;4500:18;;;4493:62;-1:-1:-1;;;4571:18:1;;;4564:36;4617:19;;11880:73:0::1;4240:402:1::0;11880:73:0::1;11964:19;11974:8;11964:9;:19::i;:::-;11799:192:::0;:::o;15546:140::-;15625:4;15649:14;15664:6;15649:22;;;;;;;;:::i;:::-;;;;;;;;;:29;:22;;;;;:29;;;;;15546:140;-1:-1:-1;;15546:140:0:o;11999:173::-;12055:16;12074:6;;-1:-1:-1;;;;;12091:17:0;;;-1:-1:-1;;;;;;12091:17:0;;;;;;12124:40;;12074:6;;;;;;;12124:40;;12055:16;12124:40;12044:128;11999:173;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:348:1;66:8;76:6;130:3;123:4;115:6;111:17;107:27;97:55;;148:1;145;138:12;97:55;-1:-1:-1;171:20:1;;-1:-1:-1;;;;;203:30:1;;200:50;;;246:1;243;236:12;200:50;283:4;275:6;271:17;259:29;;335:3;328:4;319:6;311;307:19;303:30;300:39;297:59;;;352:1;349;342:12;297:59;14:348;;;;;:::o;367:247::-;426:6;479:2;467:9;458:7;454:23;450:32;447:52;;;495:1;492;485:12;447:52;534:9;521:23;553:31;578:5;553:31;:::i;:::-;603:5;367:247;-1:-1:-1;;;367:247:1:o;619:573::-;726:6;734;742;795:2;783:9;774:7;770:23;766:32;763:52;;;811:1;808;801:12;763:52;838:23;;-1:-1:-1;;;;;873:30:1;;870:50;;;916:1;913;906:12;870:50;955:59;1006:7;997:6;986:9;982:22;955:59;:::i;:::-;1033:8;;-1:-1:-1;929:85:1;-1:-1:-1;;1118:2:1;1103:18;;1090:32;1131:31;1090:32;1131:31;:::i;:::-;1181:5;1171:15;;;619:573;;;;;:::o;1197:180::-;1256:6;1309:2;1297:9;1288:7;1284:23;1280:32;1277:52;;;1325:1;1322;1315:12;1277:52;-1:-1:-1;1348:23:1;;1197:180;-1:-1:-1;1197:180:1:o;1382:641::-;1498:6;1506;1514;1522;1575:2;1563:9;1554:7;1550:23;1546:32;1543:52;;;1591:1;1588;1581:12;1543:52;1614:23;;;-1:-1:-1;1688:2:1;1673:18;;1660:32;-1:-1:-1;;;;;1704:30:1;;1701:50;;;1747:1;1744;1737:12;1701:50;1786:59;1837:7;1828:6;1817:9;1813:22;1786:59;:::i;:::-;1864:8;;-1:-1:-1;1760:85:1;-1:-1:-1;;1949:2:1;1934:18;;1921:32;1962:31;1921:32;1962:31;:::i;:::-;1382:641;;;;-1:-1:-1;1382:641:1;;-1:-1:-1;;1382:641:1:o;2654:390::-;2813:2;2802:9;2795:21;2852:6;2847:2;2836:9;2832:18;2825:34;2909:6;2901;2896:2;2885:9;2881:18;2868:48;2965:1;2936:22;;;2960:2;2932:31;;;2925:42;;;;3028:2;3007:15;;;-1:-1:-1;;3003:29:1;2988:45;2984:54;;2654:390;-1:-1:-1;2654:390:1:o;3049:1186::-;3158:4;3187:2;3216;3205:9;3198:21;3239:1;3272:6;3266:13;3302:3;3324:1;3352:9;3348:2;3344:18;3334:28;;3412:2;3401:9;3397:18;3434;3424:61;;3478:4;3470:6;3466:17;3456:27;;3424:61;3531:2;3523:6;3520:14;3500:18;3497:38;3494:165;;;-1:-1:-1;;;3558:33:1;;3614:4;3611:1;3604:15;3644:4;3565:3;3632:17;3494:165;3715:18;;;7097:19;;;7149:4;7140:14;3758:18;3785:100;;;;3899:1;3894:315;;;;3751:458;;3785:100;-1:-1:-1;;3818:24:1;;3806:37;;3863:12;;;;-1:-1:-1;3785:100:1;;3894:315;6957:1;6950:14;;;6994:4;6981:18;;3989:1;4003:165;4017:6;4014:1;4011:13;4003:165;;;4095:14;;4082:11;;;4075:35;4138:16;;;;4032:10;;4003:165;;;4188:11;;;-1:-1:-1;;3751:458:1;-1:-1:-1;4226:3:1;;3049:1186;-1:-1:-1;;;;;;;;;3049:1186:1:o;5364:356::-;5566:2;5548:21;;;5585:18;;;5578:30;5644:34;5639:2;5624:18;;5617:62;5711:2;5696:18;;5364:356::o;5725:972::-;5861:4;5890:2;5919;5908:9;5901:21;5957:6;5951:13;6000:4;5995:2;5984:9;5980:18;5973:32;6034:12;6028:19;6084:6;6078:3;6067:9;6063:19;6056:35;6109:1;6119:147;6133:6;6130:1;6127:13;6119:147;;;6229:20;;;6225:29;;6219:36;6194:17;;;6213:3;6190:27;6183:73;6148:10;;6119:147;;;6284:6;6281:1;6278:13;6275:92;;;6355:1;6349:3;6340:6;6329:9;6325:22;6321:32;6314:43;6275:92;-1:-1:-1;6404:15:1;;;6398:22;2098:13;;2091:21;6476:2;6461:18;;2079:34;6398:22;6529:2;6517:15;;6511:22;-1:-1:-1;;;;;2211:31:1;;6613:4;6598:20;;2199:44;6511:22;-1:-1:-1;6680:2:1;6659:15;-1:-1:-1;;6655:29:1;6640:45;;;;6687:3;6636:55;;5725:972;-1:-1:-1;;;;5725:972:1:o;7165:222::-;7205:4;7233:1;7230;7227:8;7224:131;;;7277:10;7272:3;7268:20;7265:1;7258:31;7312:4;7309:1;7302:15;7340:4;7337:1;7330:15;7224:131;-1:-1:-1;7372:9:1;;7165:222::o;7392:380::-;7471:1;7467:12;;;;7514;;;7535:61;;7589:4;7581:6;7577:17;7567:27;;7535:61;7642:2;7634:6;7631:14;7611:18;7608:38;7605:161;;;7688:10;7683:3;7679:20;7676:1;7669:31;7723:4;7720:1;7713:15;7751:4;7748:1;7741:15;7605:161;;7392:380;;;:::o;7777:127::-;7838:10;7833:3;7829:20;7826:1;7819:31;7869:4;7866:1;7859:15;7893:4;7890:1;7883:15;7909:131;-1:-1:-1;;;;;7984:31:1;;7974:42;;7964:70;;8030:1;8027;8020:12

Metadata Hash

9ebff572fafac3c027dc93b73403a6300baa7f6f872bb43124509af52f6f718f
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.