Contract 0x1D9c4a8f8B7b5F9B8e2641D81927f8F8Cc7fF079 5

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb1c628bec9d4d4e94cc1afde51eca7ac41329e322e7f046389f40001e447ba4aReport Result145162272022-05-10 15:14:546 days 17 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.0141422999491.45660036
0x3a977addf78bc6e2fd147b107fa581d00cc082c2a35004c8680b100874f46125Upgrade To145158552022-05-10 15:02:226 days 17 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.00560643043199.788733808
0x1c927b509b686ffabbcf2d0dc3c642a2ca33cdb5033238aac70bd41fcaccd887Report Result145141402022-05-10 14:04:316 days 18 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01285492314783.137736851
0xddc79591ddb45854bf27f3d20d027350e9f30402cbec8374446a146c71def2acReport Result145123532022-05-10 13:03:496 days 19 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01407487042291.027605531
0x25dca6797a0815682b5704437ee766436ce38a470e802589f46aab81b1f95165Report Result145105792022-05-10 12:03:016 days 20 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01196202797877.363040051
0x0fe8d12762691a5514c0ed44012e6cb45ad0e48a64d5614c10ea86e71495cc37Report Result145088172022-05-10 11:03:046 days 21 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.00998733046164.591910993
0x78779869c78a64d8cda0fce827bc472334ab5082fd592c490df961848f54ffe9Report Result145059282022-05-10 9:24:036 days 23 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.00946831652361.240000801
0x28da98df8553d7ac56d8c2c5d864a41726afe77ddd2262a3c68f902a01a9ca06Report Result145041442022-05-10 8:23:167 days 36 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01050246008767.923452596
0xfe7d9ad104933c9f06e124f6882d5c55c4435ffab04264ae568930ae9f5cd28eReport Result145024062022-05-10 7:23:177 days 1 hr ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01297068031683.886383029
0x28e0abcb31affd1e9aa2c73bd67bc5bde56af5829d0e70d5fc51ec8e09bae81cReport Result145006212022-05-10 6:22:327 days 2 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.017087372467110.510616005
0xa8122f187eaad9da715b5ae5419bfd7882820c085454dc845746c35318700c1eReport Result144988562022-05-10 5:21:477 days 3 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01063407082468.774629901
0x994335a9f0f0f9cac53d7d67029b59a8f17ce9dd8c7086243dd14f11c246a499Report Result144970322022-05-10 4:19:317 days 4 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01089566491570.466459594
0x84ac13ea3af7cf77beed1e6543dc3c9667d14bdfe11ae71878a26a1c35e09e2fReport Result144952542022-05-10 3:19:327 days 5 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01344593936786.966815652
0x68520c023ac6d078e74406f41a05309d2753e4e134a8b224dadcefc66c80a850Report Result144934912022-05-10 2:19:327 days 6 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01491012653396.429528357
0xab0ab1e6a0c927214746379dddd886b1d19128d86492507f564834db75d03194Report Result144917222022-05-10 1:19:317 days 7 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.020417354788132.046893641
0x2049daea2d868453138b0c565b703dc6526e018f0756443a4396812860e8d96dReport Result144888582022-05-09 23:42:477 days 9 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.015735479313101.767402525
0xe2ec9a6d0d644372a53affc2af7ba2872e2654e91cb791439483968b44b656cfReport Result144870712022-05-09 22:42:027 days 10 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01315196415385.065417202
0x05ab99218fb19dccae3c65d42b2bfe64a5469f6908fb55dbd83a3d7cc2a5c55fReport Result144851842022-05-09 21:38:167 days 11 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01535468187799.304638908
0xec9ea1f830b50feb9a921e3fb2e3dcf5f6a328368e197e62463c98010c6ed68cReport Result144832882022-05-09 20:33:457 days 12 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.0191920548124.122406907
0x82857adc547eefe0a680eac9cb83c9abdbe1ca25e90a6a511e7bc797d2c3289bReport Result144814972022-05-09 19:33:027 days 13 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.021513358395139.135170903
0x66fbe18e01e9b5891f734f2ecd1051f0b7e2da8cb908a8bad5fa5f4dd5726e8bReport Result144782442022-05-09 17:42:467 days 15 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.02171115804140.414417355
0xf5d4e7a2e0c739160879074bf906ee5995a211145f3fbb0a507dca1c7dbb4cd0Report Result144747962022-05-09 15:45:497 days 17 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.0168421501108.924668549
0x4ad68bcdad22599c19caddce17d0a3fd5943a984852155260696b1cec0ca6d5fReport Result144730142022-05-09 14:45:037 days 18 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01567695992101.404674838
0xdced9ead10a2c2e79620497f4c9be054a7d41a9d5169c8c17b38d2de287f8bafReport Result144706592022-05-09 13:24:487 days 19 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.01180791236476.366315043
0x49ae4c4f7810d862e9dee6b7a52f00d5f0ec2d9b7e326dd40b6a28dde549be47Report Result144683082022-05-09 12:04:337 days 20 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790 AVAX0.0122278488879.082206155
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xb1c628bec9d4d4e94cc1afde51eca7ac41329e322e7f046389f40001e447ba4a145162272022-05-10 15:14:546 days 17 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.013219263078905 AVAX
0x72e5e71c5d7df8326eabf6dd0f87e315935ca80f57a765edcbeff3832efbe0b2145157752022-05-10 14:59:396 days 17 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.013219263078905 AVAX
0x1c927b509b686ffabbcf2d0dc3c642a2ca33cdb5033238aac70bd41fcaccd887145141402022-05-10 14:04:316 days 18 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.012628124329695 AVAX
0xeac717ca683ed14b91e0dc8a966ea30a61f3c56b655429718b2defe47ff3a1c4145139922022-05-10 13:59:346 days 18 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.012628124329695 AVAX
0xddc79591ddb45854bf27f3d20d027350e9f30402cbec8374446a146c71def2ac145123532022-05-10 13:03:496 days 19 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.01330854238683 AVAX
0xef69d6d7094aa24c8bdc9d0b103bd7a91def5e0d67fc0ab8840d0d6600324e36145122012022-05-10 12:58:446 days 20 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.01330854238683 AVAX
0x25dca6797a0815682b5704437ee766436ce38a470e802589f46aab81b1f95165145105792022-05-10 12:03:016 days 20 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.013479160520235 AVAX
0x975cfb43a76af10aba7aaa827f60e63a668eb0a51d6fa8f6b7b99b2aad9e1e69145104522022-05-10 11:58:396 days 21 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.013479160520235 AVAX
0x0fe8d12762691a5514c0ed44012e6cb45ad0e48a64d5614c10ea86e71495cc37145088172022-05-10 11:03:046 days 21 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.010000137172015 AVAX
0xd39d012e792f10a5f3bc869cb27c3e5d30e6ac07191642fa186bf115d5d382c6145086622022-05-10 10:57:526 days 22 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.010000137172015 AVAX
0x78779869c78a64d8cda0fce827bc472334ab5082fd592c490df961848f54ffe9145059282022-05-10 9:24:036 days 23 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.007952732780255 AVAX
0xb63842b8f6fb21622db524c826f5405f120a3e2a8c0e964e1b4507aa14bc1a57145057692022-05-10 9:18:476 days 23 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.007952732780255 AVAX
0x28da98df8553d7ac56d8c2c5d864a41726afe77ddd2262a3c68f902a01a9ca06145041442022-05-10 8:23:167 days 36 mins ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.012333254243015 AVAX
0xac2f44af31a31b0d620990e1f6a329980d7e07ac333acef0e1fa9155867619a0145040112022-05-10 8:18:427 days 40 mins ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.012333254243015 AVAX
0xfe7d9ad104933c9f06e124f6882d5c55c4435ffab04264ae568930ae9f5cd28e145024062022-05-10 7:23:177 days 1 hr ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.0124272781958 AVAX
0x2f20456db2ed51ce8384e109dd52bdadd9c9a24897ce8c03fbace1ffcf6ba5ab145022762022-05-10 7:18:417 days 1 hr ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.0124272781958 AVAX
0x28e0abcb31affd1e9aa2c73bd67bc5bde56af5829d0e70d5fc51ec8e09bae81c145006212022-05-10 6:22:327 days 2 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.018020770029905 AVAX
0x0d24001210999e52a043f93acf3eec1f376c880e9c04eae2dfd285378d503588145004612022-05-10 6:17:127 days 2 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.018020770029905 AVAX
0xa8122f187eaad9da715b5ae5419bfd7882820c085454dc845746c35318700c1e144988562022-05-10 5:21:477 days 3 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.01205383246182 AVAX
0xec74b8442704e1599eec7e867ef093e73a734504aa8d32e2fac233b520d3c695144986562022-05-10 5:14:537 days 3 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.01205383246182 AVAX
0x994335a9f0f0f9cac53d7d67029b59a8f17ce9dd8c7086243dd14f11c246a499144970322022-05-10 4:19:317 days 4 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.010909652147265 AVAX
0x34daa9b8e8fd9b7143c233d66ce4f4dc07600963cfab4e0b1e1b983963e92931144968912022-05-10 4:14:517 days 4 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.010909652147265 AVAX
0x84ac13ea3af7cf77beed1e6543dc3c9667d14bdfe11ae71878a26a1c35e09e2f144952542022-05-10 3:19:327 days 5 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.011368358475185 AVAX
0x6f1232454c1841c18f313388aa8b9c1ccb7cc2cd0b01716559ecedce6e97f0bc144951152022-05-10 3:14:487 days 5 hrs ago 0x8555ff5b5a370fef73ce723b3fffc57c161a1945 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790.011368358475185 AVAX
0x68520c023ac6d078e74406f41a05309d2753e4e134a8b224dadcefc66c80a850144934912022-05-10 2:19:327 days 6 hrs ago 0x1d9c4a8f8b7b5f9b8e2641d81927f8f8cc7ff0790x102cb4da51a9936ba2297be8c930b4ca658586da0.01370628407135 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WitnetProxy

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at snowtrace.io on 2022-03-17
*/

// SPDX-License-Identifier: MIT


pragma solidity >=0.6.0 <0.9.0;

pragma experimental ABIEncoderV2;

// File: contracts\patterns\Initializable.sol
interface Initializable {
    /// @dev Initialize contract's storage context.
    function initialize(bytes calldata) external;
}
// File: contracts\patterns\Proxiable.sol
interface Proxiable {
    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)
    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.
    function proxiableUUID() external pure returns (bytes32);
}
// File: contracts\patterns\Upgradable.sol
/* solhint-disable var-name-mixedcase */




abstract contract Upgradable is Initializable, Proxiable {

    address internal immutable _BASE;
    bytes32 internal immutable _CODEHASH;
    bool internal immutable _UPGRADABLE;

    /// Emitted every time the contract gets upgraded.
    /// @param from The address who ordered the upgrading. Namely, the WRB operator in "trustable" implementations.
    /// @param baseAddr The address of the new implementation contract.
    /// @param baseCodehash The EVM-codehash of the new implementation contract.
    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.
    event Upgraded(
        address indexed from,
        address indexed baseAddr,
        bytes32 indexed baseCodehash,
        bytes32 versionTag
    );

    constructor (bool _isUpgradable) {
        address _base = address(this);
        bytes32 _codehash;        
        assembly {
            _codehash := extcodehash(_base)
        }
        _BASE = _base;
        _CODEHASH = _codehash;        
        _UPGRADABLE = _isUpgradable;
    }

    /// @dev Tells whether provided address could eventually upgrade the contract.
    function isUpgradableFrom(address from) virtual external view returns (bool);


    /// TODO: the following methods should be all declared as pure 
    ///       whenever this Solidity's PR gets merged and released: 
    ///       https://github.com/ethereum/solidity/pull/10240

    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.
    function base() public view returns (address) {
        return _BASE;
    }

    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.
    /// @return _codehash This contracts immutable codehash.
    function codehash() public view returns (bytes32 _codehash) {
        return _CODEHASH;
    }
    
    /// @dev Determines whether current instance allows being upgraded.
    /// @dev Returned value should be invariant from whoever is calling.
    function isUpgradable() public view returns (bool) {        
        return _UPGRADABLE;
    }

    /// @dev Retrieves human-redable named version of current implementation.
    function version() virtual public view returns (bytes32); 
}
// File: contracts\impls\WitnetProxy.sol
/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a 
/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. 
/// @author The Witnet Foundation.
contract WitnetProxy {

    struct WitnetProxySlot {
        address implementation;
    }

    /// Event emitted every time the implementation gets updated.
    event Upgraded(address indexed implementation);  

    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).
    constructor () {}

    /// WitnetProxies will never accept direct transfer of ETHs.
    receive() external payable {
        revert("WitnetProxy: no transfers accepted");
    }

    /// Payable fallback accepts delegating calls to payable functions.  
    fallback() external payable { /* solhint-disable no-complex-fallback */
        address _implementation = implementation();

        assembly { /* solhint-disable avoid-low-level-calls */
            // Gas optimized delegate call to 'implementation' contract.
            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over 
            //       to actual implementation of `msg.sig` within `implementation` contract.
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)
            let size := returndatasize()
            returndatacopy(ptr, 0, size)
            switch result
                case 0  { 
                    // pass back revert message:
                    revert(ptr, size) 
                }
                default {
                  // pass back same data as returned by 'implementation' contract:
                  return(ptr, size) 
                }
        }
    }

    /// Returns proxy's current implementation address.
    function implementation() public view returns (address) {
        return _proxySlot().implementation;
    }

    /// Upgrades the `implementation` address.
    /// @param _newImplementation New implementation address.
    /// @param _initData Raw data with which new implementation will be initialized.
    /// @return Returns whether new implementation would be further upgradable, or not.
    function upgradeTo(address _newImplementation, bytes memory _initData)
        public returns (bool)
    {
        // New implementation cannot be null:
        require(_newImplementation != address(0), "WitnetProxy: null implementation");

        address _oldImplementation = implementation();
        if (_oldImplementation != address(0)) {
            // New implementation address must differ from current one:
            require(_newImplementation != _oldImplementation, "WitnetProxy: nothing to upgrade");

            // Assert whether current implementation is intrinsically upgradable:
            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {
                require(_isUpgradable, "WitnetProxy: not upgradable");
            } catch {
                revert("WitnetProxy: unable to check upgradability");
            }

            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:
            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(
                abi.encodeWithSignature(
                    "isUpgradableFrom(address)",
                    msg.sender
                )
            );
            require(_wasCalled, "WitnetProxy: not compliant");
            require(abi.decode(_result, (bool)), "WitnetProxy: not authorized");
            require(
                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),
                "WitnetProxy: proxiableUUIDs mismatch"
            );
        }

        // Initialize new implementation within proxy-context storage:
        (bool _wasInitialized,) = _newImplementation.delegatecall(
            abi.encodeWithSignature(
                "initialize(bytes)",
                _initData
            )
        );
        require(_wasInitialized, "WitnetProxy: unable to initialize");

        // If all checks and initialization pass, update implementation address:
        _proxySlot().implementation = _newImplementation;
        emit Upgraded(_newImplementation);

        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:
        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {
            return _isUpgradable;
        }
        catch {
            revert ("WitnetProxy: not compliant");
        }
    }

    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.
    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {
        assembly {
            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
        }
    }

}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"},{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"upgradeTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50610970806100206000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100bb5780636fbc15e9146100ed5761008a565b3661008a5760405162461bcd60e51b815260206004820152602260248201527f5769746e657450726f78793a206e6f207472616e736665727320616363657074604482015261195960f21b60648201526084015b60405180910390fd5b600061009461011d565b905060405136600082376000803683855af43d806000843e8180156100b7578184f35b8184fd5b3480156100c757600080fd5b506100d061011d565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f957600080fd5b5061010d6101083660046107a9565b61014b565b60405190151581526020016100e4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60006001600160a01b0383166101a35760405162461bcd60e51b815260206004820181905260248201527f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e6044820152606401610081565b60006101ad61011d565b90506001600160a01b0381161561058a57806001600160a01b0316846001600160a01b031614156102205760405162461bcd60e51b815260206004820152601f60248201527f5769746e657450726f78793a206e6f7468696e6720746f2075706772616465006044820152606401610081565b806001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561027a575060408051601f3d908101601f1916820190925261027791810190610879565b60015b6102d95760405162461bcd60e51b815260206004820152602a60248201527f5769746e657450726f78793a20756e61626c6520746f20636865636b207570676044820152697261646162696c69747960b01b6064820152608401610081565b806103265760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f742075706772616461626c6500000000006044820152606401610081565b5060405133602482015260009081906001600160a01b0384169060440160408051601f198184030181529181526020820180516001600160e01b03166335ac4b0560e11b1790525161037891906108d2565b600060405180830381855af49150503d80600081146103b3576040519150601f19603f3d011682016040523d82523d6000602084013e6103b8565b606091505b50915091508161040a5760405162461bcd60e51b815260206004820152601a60248201527f5769746e657450726f78793a206e6f7420636f6d706c69616e740000000000006044820152606401610081565b8080602001905181019061041e9190610879565b61046a5760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f7420617574686f72697a656400000000006044820152606401610081565b856001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906108ee565b836001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052e91906108ee565b146105875760405162461bcd60e51b8152602060048201526024808201527f5769746e657450726f78793a2070726f786961626c655555494473206d69736d6044820152630c2e8c6d60e31b6064820152608401610081565b50505b6000846001600160a01b0316846040516024016105a79190610907565b60408051601f198184030181529181526020820180516001600160e01b031663439fab9160e01b179052516105dc91906108d2565b600060405180830381855af49150503d8060008114610617576040519150601f19603f3d011682016040523d82523d6000602084013e61061c565b606091505b50509050806106775760405162461bcd60e51b815260206004820152602160248201527f5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a6044820152606560f81b6064820152608401610081565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0387169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2846001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610737575060408051601f3d908101601f1916820190925261073491810190610879565b60015b6107835760405162461bcd60e51b815260206004820152601a60248201527f5769746e657450726f78793a206e6f7420636f6d706c69616e740000000000006044820152606401610081565b925061078d915050565b92915050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156107bc57600080fd5b82356001600160a01b03811681146107d357600080fd5b9150602083013567ffffffffffffffff808211156107f057600080fd5b818501915085601f83011261080457600080fd5b81358181111561081657610816610793565b604051601f8201601f19908116603f0116810190838211818310171561083e5761083e610793565b8160405282815288602084870101111561085757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561088b57600080fd5b8151801515811461089b57600080fd5b9392505050565b60005b838110156108bd5781810151838201526020016108a5565b838111156108cc576000848401525b50505050565b600082516108e48184602087016108a2565b9190910192915050565b60006020828403121561090057600080fd5b5051919050565b60208152600082518060208401526109268160408501602087016108a2565b601f01601f1916919091016040019291505056fea26469706673582212206aa37542ed392f6a2b75418274c31e6b24a2e07a0776d472663c2af2c62c146b64736f6c634300080b0033

Deployed ByteCode Sourcemap

3263:4977:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3720:44;;-1:-1:-1;;;3720:44:0;;216:2:1;3720:44:0;;;198:21:1;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:1;;;338:32;387:19;;3720:44:0;;;;;;;;3263:4977;3936:23;3962:16;:14;:16::i;:::-;3936:42;;4328:4;4322:11;4368:14;4365:1;4360:3;4347:36;4472:1;4469;4453:14;4448:3;4431:15;4424:5;4411:63;4500:16;4553:4;4550:1;4545:3;4530:28;4579:6;4603:119;;;;4865:4;4860:3;4853:17;4603:119;4697:4;4692:3;4685:17;4973:109;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;581:32:1;;;563:51;;551:2;536:18;4973:109:0;;;;;;;;5376:2448;;;;;;;;;;-1:-1:-1;5376:2448:0;;;;;:::i;:::-;;:::i;:::-;;;2022:14:1;;2015:22;1997:41;;1985:2;1970:18;5376:2448:0;1857:187:1;4973:109:0;8151:66;5047:27;-1:-1:-1;;;;;5047:27:0;;4973:109::o;5376:2448::-;5472:4;-1:-1:-1;;;;;5549:32:0;;5541:77;;;;-1:-1:-1;;;5541:77:0;;2251:2:1;5541:77:0;;;2233:21:1;;;2270:18;;;2263:30;2329:34;2309:18;;;2302:62;2381:18;;5541:77:0;2049:356:1;5541:77:0;5631:26;5660:16;:14;:16::i;:::-;5631:45;-1:-1:-1;;;;;;5691:32:0;;;5687:1282;;5843:18;-1:-1:-1;;;;;5821:40:0;:18;-1:-1:-1;;;;;5821:40:0;;;5813:84;;;;-1:-1:-1;;;5813:84:0;;2612:2:1;5813:84:0;;;2594:21:1;2651:2;2631:18;;;2624:30;2690:33;2670:18;;;2663:61;2741:18;;5813:84:0;2410:355:1;5813:84:0;6012:18;-1:-1:-1;;;;;6001:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6001:45:0;;;;;;;;-1:-1:-1;;6001:45:0;;;;;;;;;;;;:::i;:::-;;;5997:261;;6190:52;;-1:-1:-1;;;6190:52:0;;3254:2:1;6190:52:0;;;3236:21:1;3293:2;3273:18;;;3266:30;3332:34;3312:18;;;3305:62;-1:-1:-1;;;3383:18:1;;;3376:40;3433:19;;6190:52:0;3052:406:1;5997:261:0;6103:13;6095:53;;;;-1:-1:-1;;;6095:53:0;;3665:2:1;6095:53:0;;;3647:21:1;3704:2;3684:18;;;3677:30;3743:29;3723:18;;;3716:57;3790:18;;6095:53:0;3463:351:1;6095:53:0;-1:-1:-1;6462:125:0;;6558:10;6462:125;;;563:51:1;6371:15:0;;;;-1:-1:-1;;;;;6412:31:0;;;536:18:1;;6462:125:0;;;-1:-1:-1;;6462:125:0;;;;;;;;;;;;;;-1:-1:-1;;;;;6462:125:0;-1:-1:-1;;;6462:125:0;;;6412:190;;;6462:125;6412:190;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6370:232;;;;6625:10;6617:49;;;;-1:-1:-1;;;6617:49:0;;4563:2:1;6617:49:0;;;4545:21:1;4602:2;4582:18;;;4575:30;4641:28;4621:18;;;4614:56;4687:18;;6617:49:0;4361:350:1;6617:49:0;6700:7;6689:27;;;;;;;;;;;;:::i;:::-;6681:67;;;;-1:-1:-1;;;6681:67:0;;4918:2:1;6681:67:0;;;4900:21:1;4957:2;4937:18;;;4930:30;4996:29;4976:18;;;4969:57;5043:18;;6681:67:0;4716:351:1;6681:67:0;6850:18;-1:-1:-1;;;;;6839:44:0;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6800:18;-1:-1:-1;;;;;6789:44:0;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:96;6763:194;;;;-1:-1:-1;;;6763:194:0;;5463:2:1;6763:194:0;;;5445:21:1;5502:2;5482:18;;;5475:30;5541:34;5521:18;;;5514:62;-1:-1:-1;;;5592:18:1;;;5585:34;5636:19;;6763:194:0;5261:400:1;6763:194:0;5725:1244;;5687:1282;7054:20;7079:18;-1:-1:-1;;;;;7079:31:0;7205:9;7125:104;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7125:104:0;;;;;;;;;;;;;;-1:-1:-1;;;;;7125:104:0;-1:-1:-1;;;7125:104:0;;;7079:161;;;7125:104;7079:161;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7053:187;;;7259:15;7251:61;;;;-1:-1:-1;;;7251:61:0;;6254:2:1;7251:61:0;;;6236:21:1;6293:2;6273:18;;;6266:30;6332:34;6312:18;;;6305:62;-1:-1:-1;;;6383:18:1;;;6376:31;6424:19;;7251:61:0;6052:397:1;7251:61:0;8151:66;7407:48;;-1:-1:-1;;;;;;7407:48:0;-1:-1:-1;;;;;7407:48:0;;;;;;;;7471:28;;;;-1:-1:-1;;7471:28:0;7626:18;-1:-1:-1;;;;;7615:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7615:45:0;;;;;;;;-1:-1:-1;;7615:45:0;;;;;;;;;;;;:::i;:::-;;;7611:206;;7768:37;;-1:-1:-1;;;7768:37:0;;4563:2:1;7768:37:0;;;4545:21:1;4602:2;4582:18;;;4575:30;4641:28;4621:18;;;4614:56;4687:18;;7768:37:0;4361:350:1;7611:206:0;7712:13;-1:-1:-1;7705:20:0;;-1:-1:-1;;7705:20:0;5376:2448;;;;;:::o;625:127:1:-;686:10;681:3;677:20;674:1;667:31;717:4;714:1;707:15;741:4;738:1;731:15;757:1095;834:6;842;895:2;883:9;874:7;870:23;866:32;863:52;;;911:1;908;901:12;863:52;937:23;;-1:-1:-1;;;;;989:31:1;;979:42;;969:70;;1035:1;1032;1025:12;969:70;1058:5;-1:-1:-1;1114:2:1;1099:18;;1086:32;1137:18;1167:14;;;1164:34;;;1194:1;1191;1184:12;1164:34;1232:6;1221:9;1217:22;1207:32;;1277:7;1270:4;1266:2;1262:13;1258:27;1248:55;;1299:1;1296;1289:12;1248:55;1335:2;1322:16;1357:2;1353;1350:10;1347:36;;;1363:18;;:::i;:::-;1438:2;1432:9;1406:2;1492:13;;-1:-1:-1;;1488:22:1;;;1512:2;1484:31;1480:40;1468:53;;;1536:18;;;1556:22;;;1533:46;1530:72;;;1582:18;;:::i;:::-;1622:10;1618:2;1611:22;1657:2;1649:6;1642:18;1697:7;1692:2;1687;1683;1679:11;1675:20;1672:33;1669:53;;;1718:1;1715;1708:12;1669:53;1774:2;1769;1765;1761:11;1756:2;1748:6;1744:15;1731:46;1819:1;1814:2;1809;1801:6;1797:15;1793:24;1786:35;1840:6;1830:16;;;;;;;757:1095;;;;;:::o;2770:277::-;2837:6;2890:2;2878:9;2869:7;2865:23;2861:32;2858:52;;;2906:1;2903;2896:12;2858:52;2938:9;2932:16;2991:5;2984:13;2977:21;2970:5;2967:32;2957:60;;3013:1;3010;3003:12;2957:60;3036:5;2770:277;-1:-1:-1;;;2770:277:1:o;3819:258::-;3891:1;3901:113;3915:6;3912:1;3909:13;3901:113;;;3991:11;;;3985:18;3972:11;;;3965:39;3937:2;3930:10;3901:113;;;4032:6;4029:1;4026:13;4023:48;;;4067:1;4058:6;4053:3;4049:16;4042:27;4023:48;;3819:258;;;:::o;4082:274::-;4211:3;4249:6;4243:13;4265:53;4311:6;4306:3;4299:4;4291:6;4287:17;4265:53;:::i;:::-;4334:16;;;;;4082:274;-1:-1:-1;;4082:274:1:o;5072:184::-;5142:6;5195:2;5183:9;5174:7;5170:23;5166:32;5163:52;;;5211:1;5208;5201:12;5163:52;-1:-1:-1;5234:16:1;;5072:184;-1:-1:-1;5072:184:1:o;5666:381::-;5813:2;5802:9;5795:21;5776:4;5845:6;5839:13;5888:6;5883:2;5872:9;5868:18;5861:34;5904:66;5963:6;5958:2;5947:9;5943:18;5938:2;5930:6;5926:15;5904:66;:::i;:::-;6031:2;6010:15;-1:-1:-1;;6006:29:1;5991:45;;;;6038:2;5987:54;;5666:381;-1:-1:-1;;5666:381:1:o

Swarm Source

ipfs://6aa37542ed392f6a2b75418274c31e6b24a2e07a0776d472663c2af2c62c146b
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.