POL Price: $0.61869 (+4.12%)
 

Overview

Max Total Supply

263.79254197 BTCpx

Holders

336 ( 0.298%)

Total Transfers

-

Market

Price

$72,303.98 @ 116,866.226129 POL (+29.94%)

Onchain Market Cap

$19,073,251.43

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 8 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

BTC Proxy is an institutional bitcoin bridge to Polygon DeFi with $BTCpx. Proxy Finance is a DeFi 2.0 reward system with (3.3) high APY Staking, (2,2) Programs (1,1) Bonding and $PRXY Token Governance.

Market

Volume (24H):$6,155.76
Market Capitalization:$0.00
Circulating Supply:0.00 BTCpx
Market Data Source: Coinmarketcap

Contract Source Code Verified (Exact Match)

Contract Name:
BTCpx_Proxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2021-08-26
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.7.6;
pragma experimental ABIEncoderV2;

contract Ownable {

    bytes32 private constant ownerPosition = keccak256("btcpx.relay.proxy.owner");

    // EXCEPTION MESSAGES
    string constant ERR_ZERO_ADDRESS = "Zero address";
    string constant ERR_NOT_OWNER = "Sender is not owner";

    constructor() {
        setOwner(msg.sender);
    }

    modifier onlyOwner() {
        require(msg.sender == getOwner(), ERR_NOT_OWNER);
        _;
    }

    function getOwner() public view returns (address owner) {
        bytes32 position = ownerPosition;
        assembly {
            owner := sload(position)
        }
    }

    function setOwner(address _newOwner) internal {
        bytes32 position = ownerPosition;
        assembly {
            sstore(position, _newOwner)
        }
    }

    function transferOwnership(address _newOwner) external onlyOwner {
        _transferOwnership(_newOwner);
    }


    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0), ERR_ZERO_ADDRESS);
        setOwner(_newOwner);
    }
}


contract Upgradeable is Ownable {

    bytes32 private constant implementationPosition = keccak256("implementation");

    // EXCEPTION MESSAGES
    string constant ERR_INVALID_ADDRESS = "Implementation address is invalid";
    string constant ERR_INVALID_DATA = "Function data is invalid";
    string constant ERR_CONTRACT_ADDRESS = "Destination address is not contract";
    string constant ERR_SAME_ADDRESSES = "Old and New implementation addresses are same";

    function getImplementation() public view returns (address implementation) {
        bytes32 position = implementationPosition;
        assembly {
            implementation := sload(position)
        }
    }

    function setImplementation(address _newImplementation) public onlyOwner {
        require(_newImplementation != address(0), ERR_ZERO_ADDRESS);
        require(isContract(_newImplementation), ERR_CONTRACT_ADDRESS);
        address currentImplementation = getImplementation();
        require(currentImplementation != _newImplementation, ERR_SAME_ADDRESSES);
        bytes32 position = implementationPosition;
        assembly {
            sstore(position, _newImplementation)
        }
    }

    function isContract(address _target) internal view returns (bool) {
        if (_target == address(0)) {
            return false;
        }

        uint256 size;
        assembly {
            size := extcodesize(_target)
        }
        return size > 0;
    }
}

contract BTCpx_Proxy is Upgradeable {

    fallback() external {
    require(msg.data.length > 0, ERR_INVALID_DATA);
        address _impl = getImplementation();
        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0x0, calldatasize())
            let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0x0, 0)
            let size := returndatasize()
            returndatacopy(ptr, 0x0, size)
            switch result
            case 0 {
                revert(ptr, size)
            }
            default {
                return(ptr, size)
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506100203361002560201b60201c565b610051565b60007fcc33bca5f1aa7dd962e14f23f800ad058199060888cc31ddc0cb47114636be8690508181555050565b610831806100606000396000f3fe608060405234801561001057600080fd5b50600436106100505760003560e01c8063893d20e814610103578063aaf10f4214610121578063d784d4261461013f578063f2fde38b1461015b57610051565b5b600080369050116040518060400160405280601881526020017f46756e6374696f6e206461746120697320696e76616c69640000000000000000815250906100cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100c691906106e0565b60405180910390fd5b5060006100da610177565b905060405136600082376000803683855af43d806000843e81600081146100ff578184f35b8184fd5b61010b6101a5565b60405161011891906106c5565b60405180910390f35b610129610177565b60405161013691906106c5565b60405180910390f35b61015960048036038101906101549190610654565b6101d3565b005b61017560048036038101906101709190610654565b610452565b005b6000807f8ba0ed1f62da1d3048614c2c1feb566f041c8467eb00fb8294776a9179dc16439050805491505090565b6000807fcc33bca5f1aa7dd962e14f23f800ad058199060888cc31ddc0cb47114636be869050805491505090565b6101db6101a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280601381526020017f53656e646572206973206e6f74206f776e65720000000000000000000000000081525090610280576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027791906106e0565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f5a65726f2061646472657373000000000000000000000000000000000000000081525090610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032091906106e0565b60405180910390fd5b506103338161050c565b6040518060600160405280602381526020016107d9602391399061038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038491906106e0565b60405180910390fd5b506000610398610177565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060600160405280602d81526020016107ac602d913990610424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041b91906106e0565b60405180910390fd5b5060007f8ba0ed1f62da1d3048614c2c1feb566f041c8467eb00fb8294776a9179dc16439050828155505050565b61045a6101a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280601381526020017f53656e646572206973206e6f74206f776e657200000000000000000000000000815250906104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f691906106e0565b60405180910390fd5b506105098161055e565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561054b5760009050610559565b6000823b9050600081119150505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f5a65726f2061646472657373000000000000000000000000000000000000000081525090610606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fd91906106e0565b60405180910390fd5b5061061081610613565b50565b60007fcc33bca5f1aa7dd962e14f23f800ad058199060888cc31ddc0cb47114636be8690508181555050565b60008135905061064e81610794565b92915050565b60006020828403121561066657600080fd5b60006106748482850161063f565b91505092915050565b6106868161071e565b82525050565b600061069782610702565b6106a1818561070d565b93506106b1818560208601610750565b6106ba81610783565b840191505092915050565b60006020820190506106da600083018461067d565b92915050565b600060208201905081810360008301526106fa818461068c565b905092915050565b600081519050919050565b600082825260208201905092915050565b600061072982610730565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b8381101561076e578082015181840152602081019050610753565b8381111561077d576000848401525b50505050565b6000601f19601f8301169050919050565b61079d8161071e565b81146107a857600080fd5b5056fe4f6c6420616e64204e657720696d706c656d656e746174696f6e20616464726573736573206172652073616d6544657374696e6174696f6e2061646472657373206973206e6f7420636f6e7472616374a2646970667358221220a9a84a71d3c5bb0c24936ce56a8abfb0d46dd68af1972972bb3a6d8f8a2b2bf564736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100505760003560e01c8063893d20e814610103578063aaf10f4214610121578063d784d4261461013f578063f2fde38b1461015b57610051565b5b600080369050116040518060400160405280601881526020017f46756e6374696f6e206461746120697320696e76616c69640000000000000000815250906100cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100c691906106e0565b60405180910390fd5b5060006100da610177565b905060405136600082376000803683855af43d806000843e81600081146100ff578184f35b8184fd5b61010b6101a5565b60405161011891906106c5565b60405180910390f35b610129610177565b60405161013691906106c5565b60405180910390f35b61015960048036038101906101549190610654565b6101d3565b005b61017560048036038101906101709190610654565b610452565b005b6000807f8ba0ed1f62da1d3048614c2c1feb566f041c8467eb00fb8294776a9179dc16439050805491505090565b6000807fcc33bca5f1aa7dd962e14f23f800ad058199060888cc31ddc0cb47114636be869050805491505090565b6101db6101a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280601381526020017f53656e646572206973206e6f74206f776e65720000000000000000000000000081525090610280576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027791906106e0565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f5a65726f2061646472657373000000000000000000000000000000000000000081525090610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032091906106e0565b60405180910390fd5b506103338161050c565b6040518060600160405280602381526020016107d9602391399061038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038491906106e0565b60405180910390fd5b506000610398610177565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060600160405280602d81526020016107ac602d913990610424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041b91906106e0565b60405180910390fd5b5060007f8ba0ed1f62da1d3048614c2c1feb566f041c8467eb00fb8294776a9179dc16439050828155505050565b61045a6101a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280601381526020017f53656e646572206973206e6f74206f776e657200000000000000000000000000815250906104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f691906106e0565b60405180910390fd5b506105098161055e565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561054b5760009050610559565b6000823b9050600081119150505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600c81526020017f5a65726f2061646472657373000000000000000000000000000000000000000081525090610606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fd91906106e0565b60405180910390fd5b5061061081610613565b50565b60007fcc33bca5f1aa7dd962e14f23f800ad058199060888cc31ddc0cb47114636be8690508181555050565b60008135905061064e81610794565b92915050565b60006020828403121561066657600080fd5b60006106748482850161063f565b91505092915050565b6106868161071e565b82525050565b600061069782610702565b6106a1818561070d565b93506106b1818560208601610750565b6106ba81610783565b840191505092915050565b60006020820190506106da600083018461067d565b92915050565b600060208201905081810360008301526106fa818461068c565b905092915050565b600081519050919050565b600082825260208201905092915050565b600061072982610730565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b8381101561076e578082015181840152602081019050610753565b8381111561077d576000848401525b50505050565b6000601f19601f8301169050919050565b61079d8161071e565b81146107a857600080fd5b5056fe4f6c6420616e64204e657720696d706c656d656e746174696f6e20616464726573736573206172652073616d6544657374696e6174696f6e2061646472657373206973206e6f7420636f6e7472616374a2646970667358221220a9a84a71d3c5bb0c24936ce56a8abfb0d46dd68af1972972bb3a6d8f8a2b2bf564736f6c63430007060033

Deployed Bytecode Sourcemap

2655:635:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2753:1;2735:8;;:15;;:19;2756:16;;;;;;;;;;;;;;;;;2727:46;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2784:13;2800:19;:17;:19::i;:::-;2784:35;;2871:4;2865:11;2913:14;2908:3;2903;2890:38;3009:1;3004:3;2988:14;2983:3;2976:5;2969;2956:55;3037:16;3092:4;3087:3;3082;3067:30;3118:6;3143:1;3138:58;;;;3249:4;3244:3;3237:17;3138:58;3176:4;3171:3;3164:17;520:176;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1646:212;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1866:500;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;881:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1646:212;1696:22;1731:16;1259:27;1731:41;;1831:8;1825:15;1807:33;;1792:59;;:::o;520:176::-;561:13;587:16;161:36;587:32;;669:8;663:15;654:24;;639:50;;:::o;1866:500::-;466:10;:8;:10::i;:::-;452:24;;:10;:24;;;478:13;;;;;;;;;;;;;;;;;444:48;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1987:1:::1;1957:32;;:18;:32;;;;1991:16;;;;;;;;;;;;;;;;::::0;1949:59:::1;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2027:30;2038:18;2027:10;:30::i;:::-;2059:20;;;;;;;;;;;;;;;;;2019:61;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2091:29;2123:19;:17;:19::i;:::-;2091:51;;2186:18;2161:43;;:21;:43;;;;2206:18;;;;;;;;;;;;;;;;;2153:72;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2236:16;1259:27;2236:41;;2329:18;2319:8;2312:36;2297:62;;1866:500:::0;:::o;881:113::-;466:10;:8;:10::i;:::-;452:24;;:10;:24;;;478:13;;;;;;;;;;;;;;;;;444:48;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;957:29:::1;976:9;957:18;:29::i;:::-;881:113:::0;:::o;2374:274::-;2434:4;2474:1;2455:21;;:7;:21;;;2451:66;;;2500:5;2493:12;;;;2451:66;2529:12;2596:7;2584:20;2576:28;;2639:1;2632:4;:8;2625:15;;;2374:274;;;;:::o;1004:155::-;1100:1;1079:23;;:9;:23;;;;1104:16;;;;;;;;;;;;;;;;;1071:50;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1132:19;1141:9;1132:8;:19::i;:::-;1004:155;:::o;704:169::-;761:16;161:36;761:32;;845:9;835:8;828:27;813:53;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:262::-;;260:2;248:9;239:7;235:23;231:32;228:2;;;276:1;273;266:12;228:2;319:1;344:53;389:7;380:6;369:9;365:22;344:53;:::i;:::-;334:63;;290:117;218:196;;;;:::o;420:118::-;507:24;525:5;507:24;:::i;:::-;502:3;495:37;485:53;;:::o;544:364::-;;660:39;693:5;660:39;:::i;:::-;715:71;779:6;774:3;715:71;:::i;:::-;708:78;;795:52;840:6;835:3;828:4;821:5;817:16;795:52;:::i;:::-;872:29;894:6;872:29;:::i;:::-;867:3;863:39;856:46;;636:272;;;;;:::o;914:222::-;;1045:2;1034:9;1030:18;1022:26;;1058:71;1126:1;1115:9;1111:17;1102:6;1058:71;:::i;:::-;1012:124;;;;:::o;1142:313::-;;1293:2;1282:9;1278:18;1270:26;;1342:9;1336:4;1332:20;1328:1;1317:9;1313:17;1306:47;1370:78;1443:4;1434:6;1370:78;:::i;:::-;1362:86;;1260:195;;;;:::o;1461:99::-;;1547:5;1541:12;1531:22;;1520:40;;;:::o;1566:169::-;;1684:6;1679:3;1672:19;1724:4;1719:3;1715:14;1700:29;;1662:73;;;;:::o;1741:96::-;;1807:24;1825:5;1807:24;:::i;:::-;1796:35;;1786:51;;;:::o;1843:126::-;;1920:42;1913:5;1909:54;1898:65;;1888:81;;;:::o;1975:307::-;2043:1;2053:113;2067:6;2064:1;2061:13;2053:113;;;2152:1;2147:3;2143:11;2137:18;2133:1;2128:3;2124:11;2117:39;2089:2;2086:1;2082:10;2077:15;;2053:113;;;2184:6;2181:1;2178:13;2175:2;;;2264:1;2255:6;2250:3;2246:16;2239:27;2175:2;2024:258;;;;:::o;2288:102::-;;2380:2;2376:7;2371:2;2364:5;2360:14;2356:28;2346:38;;2336:54;;;:::o;2396:122::-;2469:24;2487:5;2469:24;:::i;:::-;2462:5;2459:35;2449:2;;2508:1;2505;2498:12;2449:2;2439:79;:::o

Swarm Source

ipfs://a9a84a71d3c5bb0c24936ce56a8abfb0d46dd68af1972972bb3a6d8f8a2b2bf5
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.