Token ECS GOLD

 

Overview ERC-20

Price
$0.00 @ 0.000816 MATIC (+1.15%)
Fully Diluted Market Cap
Total Supply:
1,000,000,000 ECG

Holders:
4,248 addresses

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

EcoSmart, a communal shareholding ecosystem based on smart contracts. EcoSmart builds its infrastructure on the Polygon blockchain.

Market

Volume (24H):$129.66
Market Capitalization:$0.00
Circulating Supply:0.00 ECG
Market Data Source: Coinmarketcap


Update? Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ECG

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


contract ECG {

    string public constant name = "ECS GOLD";
    string public constant symbol = "ECG";
    uint8 public constant decimals = 6;

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;
    mapping(address => bool) isBlacked;

    uint256 totalBalance;
    address _owner;
    constructor(uint256 total) {
        _owner = msg.sender;
        totalBalance = total;
        balances[msg.sender] = totalBalance;
    }

    function setOwner(address _newOwner) public {
        require(msg.sender==_owner,"Only owner");
        _owner=_newOwner;
    }

    function setBlackList(address _address,bool _status) public {
        require(msg.sender==_owner,"Only owner");
        isBlacked[_address]=_status;
    }

    function isBlackListed(address _address) public view returns (bool) {
        return isBlacked[_address];
    }

    function totalSupply() public view returns (uint256) {
        return totalBalance;
    }

    function balanceOf(address tokenOwner) public view returns (uint) {
        return balances[tokenOwner];
    }

    function allowance(address owner, address delegate) public view returns (uint) {
        return allowed[owner][delegate];
    }

    function transfer(address receiver,uint256 numTokens) public returns (bool) {
        require(!isBlacked[msg.sender]);
        require(numTokens <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender] - numTokens;
        uint feeAmount = numTokens*fee/1000;
        totalBalance -= feeAmount;
        balances[receiver] = balances[receiver] + numTokens - feeAmount;
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }

    function approve(address delegate, uint numTokens) public returns (bool) {
        allowed[msg.sender][delegate] = numTokens;
        emit Approval(msg.sender, delegate, numTokens);
        return true;
    }

    function transferFrom(address owner, address buyer, uint256 numTokens) public returns (bool) {
        require(!isBlacked[owner]);
        require(numTokens <= balances[owner]);
        require(numTokens <= allowed[owner][msg.sender]);
        balances[owner] = balances[owner] - numTokens;
        allowed[owner][msg.sender] = allowed[owner][msg.sender] - numTokens;
        uint feeAmount = numTokens*fee/1000;
        totalBalance -= feeAmount;
        balances[buyer] = balances[buyer] + numTokens - feeAmount;
        emit Transfer(owner, buyer, numTokens);
        return true;
    }

    function burn(uint _amount) public {
        require(msg.sender==_owner,"Only owner");

        balances[msg.sender] -= _amount;
        totalBalance -= _amount;
    }

    // ################ ecs transfer fee ##################
    uint fee; //from 0 to 1000
    function setFee(uint _fee) public {
        require(msg.sender==_owner,"Only owner");
        fee = _fee;
    }
    function getFee() public view returns(uint){
        return fee;
    }
    // ################ ecs transfer fee ##################

    event Approval(address indexed tokenOwner, address indexed spender,uint tokens);
    event Transfer(address indexed from, address indexed to, uint tokens);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50604051620016723803806200167283398181016040528101906200003791906200010b565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003819055506003546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550506200013d565b600080fd5b6000819050919050565b620000e581620000d0565b8114620000f157600080fd5b50565b6000815190506200010581620000da565b92915050565b600060208284031215620001245762000123620000cb565b5b60006200013484828501620000f4565b91505092915050565b611525806200014d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806368092bd911610097578063a9059cbb11610066578063a9059cbb14610272578063ced72f87146102a2578063dd62ed3e146102c0578063e47d6060146102f0576100f5565b806368092bd9146101ec57806369fe0e2d1461020857806370a082311461022457806395d89b4114610254576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806342966c68146101d0576100f5565b806306fdde03146100fa578063095ea7b31461011857806313af403514610148575b600080fd5b610102610320565b60405161010f9190611025565b60405180910390f35b610132600480360381019061012d91906110e0565b610359565b60405161013f919061113b565b60405180910390f35b610162600480360381019061015d9190611156565b61044b565b005b61016c61051f565b6040516101799190611192565b60405180910390f35b61019c600480360381019061019791906111ad565b610529565b6040516101a9919061113b565b60405180910390f35b6101ba61092a565b6040516101c7919061121c565b60405180910390f35b6101ea60048036038101906101e59190611237565b61092f565b005b61020660048036038101906102019190611290565b610a30565b005b610222600480360381019061021d9190611237565b610b1b565b005b61023e60048036038101906102399190611156565b610bb5565b60405161024b9190611192565b60405180910390f35b61025c610bfd565b6040516102699190611025565b60405180910390f35b61028c600480360381019061028791906110e0565b610c36565b604051610299919061113b565b60405180910390f35b6102aa610ea5565b6040516102b79190611192565b60405180910390f35b6102da60048036038101906102d591906112d0565b610eaf565b6040516102e79190611192565b60405180910390f35b61030a60048036038101906103059190611156565b610f36565b604051610317919061113b565b60405180910390f35b6040518060400160405280600881526020017f45435320474f4c4400000000000000000000000000000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104399190611192565b60405180910390a36001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d29061135c565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600354905090565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561058257600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156105cd57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561065657600080fd5b816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106a091906113ab565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461076a91906113ab565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006103e8600554846107fd91906113df565b6108079190611468565b9050806003600082825461081b91906113ab565b9250508190555080836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461086d9190611499565b61087791906113ab565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516109169190611192565b60405180910390a360019150509392505050565b600681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b69061135c565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a0d91906113ab565b925050819055508060036000828254610a2691906113ab565b9250508190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab79061135c565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba29061135c565b60405180910390fd5b8060058190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600381526020017f454347000000000000000000000000000000000000000000000000000000000081525081565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c8f57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610cda57600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d2491906113ab565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006103e860055484610d7991906113df565b610d839190611468565b90508060036000828254610d9791906113ab565b9250508190555080836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de99190611499565b610df391906113ab565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610e929190611192565b60405180910390a3600191505092915050565b6000600554905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fc6578082015181840152602081019050610fab565b83811115610fd5576000848401525b50505050565b6000601f19601f8301169050919050565b6000610ff782610f8c565b6110018185610f97565b9350611011818560208601610fa8565b61101a81610fdb565b840191505092915050565b6000602082019050818103600083015261103f8184610fec565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110778261104c565b9050919050565b6110878161106c565b811461109257600080fd5b50565b6000813590506110a48161107e565b92915050565b6000819050919050565b6110bd816110aa565b81146110c857600080fd5b50565b6000813590506110da816110b4565b92915050565b600080604083850312156110f7576110f6611047565b5b600061110585828601611095565b9250506020611116858286016110cb565b9150509250929050565b60008115159050919050565b61113581611120565b82525050565b6000602082019050611150600083018461112c565b92915050565b60006020828403121561116c5761116b611047565b5b600061117a84828501611095565b91505092915050565b61118c816110aa565b82525050565b60006020820190506111a76000830184611183565b92915050565b6000806000606084860312156111c6576111c5611047565b5b60006111d486828701611095565b93505060206111e586828701611095565b92505060406111f6868287016110cb565b9150509250925092565b600060ff82169050919050565b61121681611200565b82525050565b6000602082019050611231600083018461120d565b92915050565b60006020828403121561124d5761124c611047565b5b600061125b848285016110cb565b91505092915050565b61126d81611120565b811461127857600080fd5b50565b60008135905061128a81611264565b92915050565b600080604083850312156112a7576112a6611047565b5b60006112b585828601611095565b92505060206112c68582860161127b565b9150509250929050565b600080604083850312156112e7576112e6611047565b5b60006112f585828601611095565b925050602061130685828601611095565b9150509250929050565b7f4f6e6c79206f776e657200000000000000000000000000000000000000000000600082015250565b6000611346600a83610f97565b915061135182611310565b602082019050919050565b6000602082019050818103600083015261137581611339565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113b6826110aa565b91506113c1836110aa565b9250828210156113d4576113d361137c565b5b828203905092915050565b60006113ea826110aa565b91506113f5836110aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561142e5761142d61137c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611473826110aa565b915061147e836110aa565b92508261148e5761148d611439565b5b828204905092915050565b60006114a4826110aa565b91506114af836110aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114e4576114e361137c565b5b82820190509291505056fea26469706673582212206559c3f540c3727a38936c0a733ffaa1bf806bd9a92ed4f3d3033dc4f74c333264736f6c6343000809003300000000000000000000000000000000000000000000000000038d7ea4c68000

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000038d7ea4c68000

-----Decoded View---------------
Arg [0] : total (uint256): 1000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000038d7ea4c68000


Deployed ByteCode Sourcemap

62:3292:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;84:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1833:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;565:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;989:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2053:600;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;175:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2661:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;703:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2934:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1088:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;131:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1345:480;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3054:72;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1208:129;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;868:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;84:40;;;;;;;;;;;;;;;;;;;:::o;1833:212::-;1900:4;1949:9;1917:7;:19;1925:10;1917:19;;;;;;;;;;;;;;;:29;1937:8;1917:29;;;;;;;;;;;;;;;:41;;;;1995:8;1974:41;;1983:10;1974:41;;;2005:9;1974:41;;;;;;:::i;:::-;;;;;;;;2033:4;2026:11;;1833:212;;;;:::o;565:130::-;640:6;;;;;;;;;;;628:18;;:10;:18;;;620:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;678:9;671:6;;:16;;;;;;;;;;;;;;;;;;565:130;:::o;989:91::-;1033:7;1060:12;;1053:19;;989:91;:::o;2053:600::-;2140:4;2166:9;:16;2176:5;2166:16;;;;;;;;;;;;;;;;;;;;;;;;;2165:17;2157:26;;;;;;2215:8;:15;2224:5;2215:15;;;;;;;;;;;;;;;;2202:9;:28;;2194:37;;;;;;2263:7;:14;2271:5;2263:14;;;;;;;;;;;;;;;:26;2278:10;2263:26;;;;;;;;;;;;;;;;2250:9;:39;;2242:48;;;;;;2337:9;2319:8;:15;2328:5;2319:15;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;2301:8;:15;2310:5;2301:15;;;;;;;;;;;;;;;:45;;;;2415:9;2386:7;:14;2394:5;2386:14;;;;;;;;;;;;;;;:26;2401:10;2386:26;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;2357:7;:14;2365:5;2357:14;;;;;;;;;;;;;;;:26;2372:10;2357:26;;;;;;;;;;;;;;;:67;;;;2435:14;2466:4;2462:3;;2452:9;:13;;;;:::i;:::-;:18;;;;:::i;:::-;2435:35;;2497:9;2481:12;;:25;;;;;;;:::i;:::-;;;;;;;;2565:9;2553;2535:8;:15;2544:5;2535:15;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;:39;;;;:::i;:::-;2517:8;:15;2526:5;2517:15;;;;;;;;;;;;;;;:57;;;;2606:5;2590:33;;2599:5;2590:33;;;2613:9;2590:33;;;;;;:::i;:::-;;;;;;;;2641:4;2634:11;;;2053:600;;;;;:::o;175:34::-;208:1;175:34;:::o;2661:172::-;2727:6;;;;;;;;;;;2715:18;;:10;:18;;;2707:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;2784:7;2760:8;:20;2769:10;2760:20;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;2818:7;2802:12;;:23;;;;;;;:::i;:::-;;;;;;;;2661:172;:::o;703:157::-;794:6;;;;;;;;;;;782:18;;:10;:18;;;774:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;845:7;825:9;:19;835:8;825:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;703:157;;:::o;2934:114::-;2999:6;;;;;;;;;;;2987:18;;:10;:18;;;2979:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;3036:4;3030:3;:10;;;;2934:114;:::o;1088:112::-;1148:4;1172:8;:20;1181:10;1172:20;;;;;;;;;;;;;;;;1165:27;;1088:112;;;:::o;131:37::-;;;;;;;;;;;;;;;;;;;:::o;1345:480::-;1415:4;1441:9;:21;1451:10;1441:21;;;;;;;;;;;;;;;;;;;;;;;;;1440:22;1432:31;;;;;;1495:8;:20;1504:10;1495:20;;;;;;;;;;;;;;;;1482:9;:33;;1474:42;;;;;;1573:9;1550:8;:20;1559:10;1550:20;;;;;;;;;;;;;;;;:32;;;;:::i;:::-;1527:8;:20;1536:10;1527:20;;;;;;;;;;;;;;;:55;;;;1593:14;1624:4;1620:3;;1610:9;:13;;;;:::i;:::-;:18;;;;:::i;:::-;1593:35;;1655:9;1639:12;;:25;;;;;;;:::i;:::-;;;;;;;;1729:9;1717;1696:8;:18;1705:8;1696:18;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;:42;;;;:::i;:::-;1675:8;:18;1684:8;1675:18;;;;;;;;;;;;;;;:63;;;;1775:8;1754:41;;1763:10;1754:41;;;1785:9;1754:41;;;;;;:::i;:::-;;;;;;;;1813:4;1806:11;;;1345:480;;;;:::o;3054:72::-;3092:4;3115:3;;3108:10;;3054:72;:::o;1208:129::-;1281:4;1305:7;:14;1313:5;1305:14;;;;;;;;;;;;;;;:24;1320:8;1305:24;;;;;;;;;;;;;;;;1298:31;;1208:129;;;;:::o;868:113::-;930:4;954:9;:19;964:8;954:19;;;;;;;;;;;;;;;;;;;;;;;;;947:26;;868:113;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:116::-;5641:21;5656:5;5641:21;:::i;:::-;5634:5;5631:32;5621:60;;5677:1;5674;5667:12;5621:60;5571:116;:::o;5693:133::-;5736:5;5774:6;5761:20;5752:29;;5790:30;5814:5;5790:30;:::i;:::-;5693:133;;;;:::o;5832:468::-;5897:6;5905;5954:2;5942:9;5933:7;5929:23;5925:32;5922:119;;;5960:79;;:::i;:::-;5922:119;6080:1;6105:53;6150:7;6141:6;6130:9;6126:22;6105:53;:::i;:::-;6095:63;;6051:117;6207:2;6233:50;6275:7;6266:6;6255:9;6251:22;6233:50;:::i;:::-;6223:60;;6178:115;5832:468;;;;;:::o;6306:474::-;6374:6;6382;6431:2;6419:9;6410:7;6406:23;6402:32;6399:119;;;6437:79;;:::i;:::-;6399:119;6557:1;6582:53;6627:7;6618:6;6607:9;6603:22;6582:53;:::i;:::-;6572:63;;6528:117;6684:2;6710:53;6755:7;6746:6;6735:9;6731:22;6710:53;:::i;:::-;6700:63;;6655:118;6306:474;;;;;:::o;6786:160::-;6926:12;6922:1;6914:6;6910:14;6903:36;6786:160;:::o;6952:366::-;7094:3;7115:67;7179:2;7174:3;7115:67;:::i;:::-;7108:74;;7191:93;7280:3;7191:93;:::i;:::-;7309:2;7304:3;7300:12;7293:19;;6952:366;;;:::o;7324:419::-;7490:4;7528:2;7517:9;7513:18;7505:26;;7577:9;7571:4;7567:20;7563:1;7552:9;7548:17;7541:47;7605:131;7731:4;7605:131;:::i;:::-;7597:139;;7324:419;;;:::o;7749:180::-;7797:77;7794:1;7787:88;7894:4;7891:1;7884:15;7918:4;7915:1;7908:15;7935:191;7975:4;7995:20;8013:1;7995:20;:::i;:::-;7990:25;;8029:20;8047:1;8029:20;:::i;:::-;8024:25;;8068:1;8065;8062:8;8059:34;;;8073:18;;:::i;:::-;8059:34;8118:1;8115;8111:9;8103:17;;7935:191;;;;:::o;8132:348::-;8172:7;8195:20;8213:1;8195:20;:::i;:::-;8190:25;;8229:20;8247:1;8229:20;:::i;:::-;8224:25;;8417:1;8349:66;8345:74;8342:1;8339:81;8334:1;8327:9;8320:17;8316:105;8313:131;;;8424:18;;:::i;:::-;8313:131;8472:1;8469;8465:9;8454:20;;8132:348;;;;:::o;8486:180::-;8534:77;8531:1;8524:88;8631:4;8628:1;8621:15;8655:4;8652:1;8645:15;8672:185;8712:1;8729:20;8747:1;8729:20;:::i;:::-;8724:25;;8763:20;8781:1;8763:20;:::i;:::-;8758:25;;8802:1;8792:35;;8807:18;;:::i;:::-;8792:35;8849:1;8846;8842:9;8837:14;;8672:185;;;;:::o;8863:305::-;8903:3;8922:20;8940:1;8922:20;:::i;:::-;8917:25;;8956:20;8974:1;8956:20;:::i;:::-;8951:25;;9110:1;9042:66;9038:74;9035:1;9032:81;9029:107;;;9116:18;;:::i;:::-;9029:107;9160:1;9157;9153:9;9146:16;;8863:305;;;;:::o

Swarm Source

ipfs://6559c3f540c3727a38936c0a733ffaa1bf806bd9a92ed4f3d3033dc4f74c3332
Loading