Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 58 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Bridge Send | 13085052 | 1675 days ago | IN | 0.00034 ETH | 0.00236943 | ||||
| Bridge Send | 13085047 | 1675 days ago | IN | 0.00034 ETH | 0.00258206 | ||||
| Bridge Send | 13085039 | 1675 days ago | IN | 0.00034 ETH | 0.0026051 | ||||
| Bridge Send | 13085016 | 1675 days ago | IN | 0.00034 ETH | 0.00334082 | ||||
| Bridge Send | 13078716 | 1676 days ago | IN | 0.0034 ETH | 0.00431892 | ||||
| Bridge Send | 13078643 | 1676 days ago | IN | 0.0034 ETH | 0.00303049 | ||||
| Bridge Send | 13077312 | 1676 days ago | IN | 0.0034 ETH | 0.00256339 | ||||
| Bridge Send | 13073096 | 1676 days ago | IN | 0.0034 ETH | 0.00220791 | ||||
| Bridge Send | 13069866 | 1677 days ago | IN | 0.0034 ETH | 0.00507932 | ||||
| Bridge Send | 13069784 | 1677 days ago | IN | 0.0034 ETH | 0.00511507 | ||||
| Bridge Send | 13068593 | 1677 days ago | IN | 0.0034 ETH | 0.00146993 | ||||
| Bridge Send | 13066089 | 1677 days ago | IN | 0.0034 ETH | 0.00234815 | ||||
| Bridge Send | 13066047 | 1677 days ago | IN | 0.0034 ETH | 0.00351761 | ||||
| Bridge Send | 13066001 | 1678 days ago | IN | 0.0034 ETH | 0.00227303 | ||||
| Bridge Send | 13043223 | 1681 days ago | IN | 0.0034 ETH | 0.00408823 | ||||
| Bridge Send | 12986190 | 1690 days ago | IN | 0.0034 ETH | 0.00440825 | ||||
| Bridge Send | 12976035 | 1691 days ago | IN | 0.0034 ETH | 0.00431949 | ||||
| Bridge Send | 12949405 | 1696 days ago | IN | 0.0034 ETH | 0.00210284 | ||||
| Bridge Send | 12949404 | 1696 days ago | IN | 0.0034 ETH | 0.00255643 | ||||
| Bridge Send | 12944210 | 1696 days ago | IN | 0.0034 ETH | 0.00220382 | ||||
| Bridge Send | 12938015 | 1697 days ago | IN | 0.0034 ETH | 0.00229229 | ||||
| Bridge Send | 12927073 | 1699 days ago | IN | 0.0034 ETH | 0.00238013 | ||||
| Bridge Send | 12908836 | 1702 days ago | IN | 0.0034 ETH | 0.0029972 | ||||
| Bridge Send | 12908548 | 1702 days ago | IN | 0.0034 ETH | 0.00462573 | ||||
| Bridge Send | 12896462 | 1704 days ago | IN | 0.0034 ETH | 0.00292403 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 13078716 | 1676 days ago | 0.0034 ETH | ||||
| - | 13078643 | 1676 days ago | 0.0034 ETH | ||||
| - | 13077312 | 1676 days ago | 0.0034 ETH | ||||
| - | 13073096 | 1676 days ago | 0.0034 ETH | ||||
| - | 13069866 | 1677 days ago | 0.0034 ETH | ||||
| - | 13069784 | 1677 days ago | 0.0034 ETH | ||||
| - | 13068593 | 1677 days ago | 0.0034 ETH | ||||
| - | 13066089 | 1677 days ago | 0.0034 ETH | ||||
| - | 13066047 | 1677 days ago | 0.0034 ETH | ||||
| - | 13066001 | 1678 days ago | 0.0034 ETH | ||||
| - | 13043223 | 1681 days ago | 0.0034 ETH | ||||
| - | 12986190 | 1690 days ago | 0.0034 ETH | ||||
| - | 12976035 | 1691 days ago | 0.0034 ETH | ||||
| - | 12949405 | 1696 days ago | 0.0034 ETH | ||||
| - | 12949404 | 1696 days ago | 0.0034 ETH | ||||
| - | 12944210 | 1696 days ago | 0.0034 ETH | ||||
| - | 12938015 | 1697 days ago | 0.0034 ETH | ||||
| - | 12927073 | 1699 days ago | 0.0034 ETH | ||||
| - | 12908836 | 1702 days ago | 0.0034 ETH | ||||
| - | 12908548 | 1702 days ago | 0.0034 ETH | ||||
| - | 12896462 | 1704 days ago | 0.0034 ETH | ||||
| - | 12893057 | 1704 days ago | 0.0034 ETH | ||||
| - | 12891791 | 1705 days ago | 0.0034 ETH | ||||
| - | 12887556 | 1705 days ago | 0.0034 ETH | ||||
| - | 12884758 | 1706 days ago | 0.0034 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
POLCBridgeTransfers
Compiler Version
v0.8.2+commit.661d1103
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-07-01
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.2;
interface IERC20Token {
function totalSupply() external view returns (uint256 supply);
function transfer(address _to, uint256 _value) external returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);
function balanceOf(address _owner) external view returns (uint256 balance);
function approve(address _spender, uint256 _value) external returns (bool success);
function allowance(address _owner, address _spender) external view returns (uint256 remaining);
function mint(address account, uint256 value) external returns (bool);
}
interface POLCProfits {
function addBankEarnings(uint256 _amount) external;
}
library ECDSA {
/**
* @dev Returns the address that signed a hashed message (`hash`) with
* `signature`. This address can then be used for verification purposes.
*
* The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:
* this function rejects them by requiring the `s` value to be in the lower
* half order, and the `v` value to be either 27 or 28.
*
* IMPORTANT: `hash` _must_ be the result of a hash operation for the
* verification to be secure: it is possible to craft signatures that
* recover to arbitrary addresses for non-hashed data. A safe way to ensure
* this is by receiving a hash of the original message (which may otherwise
* be too long), and then calling {toEthSignedMessageHash} on it.
*
* Documentation for signature generation:
* - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]
* - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]
*/
function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {
// Divide the signature in r, s and v variables
bytes32 r;
bytes32 s;
uint8 v;
// Check the signature length
// - case 65: r,s,v signature (standard)
// - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) _Available since v4.1._
if (signature.length == 65) {
// ecrecover takes the signature parameters, and the only way to get them
// currently is to use assembly.
// solhint-disable-next-line no-inline-assembly
assembly {
r := mload(add(signature, 0x20))
s := mload(add(signature, 0x40))
v := byte(0, mload(add(signature, 0x60)))
}
} else if (signature.length == 64) {
// ecrecover takes the signature parameters, and the only way to get them
// currently is to use assembly.
// solhint-disable-next-line no-inline-assembly
assembly {
let vs := mload(add(signature, 0x40))
r := mload(add(signature, 0x20))
s := and(vs, 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
v := add(shr(255, vs), 27)
}
} else {
revert("ECDSA: invalid signature length");
}
return recover(hash, v, r, s);
}
/**
* @dev Overload of {ECDSA-recover} that receives the `v`,
* `r` and `s` signature fields separately.
*/
function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {
// EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature
// unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines
// the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most
// signatures from current libraries generate a unique signature with an s-value in the lower half order.
//
// If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value
// with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or
// vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept
// these malleable signatures as well.
require(uint256(s) <= 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, "ECDSA: invalid signature 's' value");
require(v == 27 || v == 28, "ECDSA: invalid signature 'v' value");
// If the signature is valid (and not malleable), return the signer address
address signer = ecrecover(hash, v, r, s);
require(signer != address(0), "ECDSA: invalid signature");
return signer;
}
/**
* @dev Returns an Ethereum Signed Message, created from a `hash`. This
* produces hash corresponding to the one signed with the
* https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]
* JSON-RPC method as part of EIP-191.
*
* See {recover}.
*/
function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {
// 32 is the length in bytes of hash,
// enforced by the type signature above
return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash));
}
/**
* @dev Returns an Ethereum Signed Typed Data, created from a
* `domainSeparator` and a `structHash`. This produces hash corresponding
* to the one signed with the
* https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]
* JSON-RPC method as part of EIP-712.
*
* See {recover}.
*/
function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) {
return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
}
}
library Address {
function isContract(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
// solhint-disable-next-line no-inline-assembly
assembly { size := extcodesize(account) }
return size > 0;
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0, errorMessage);
}
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
require(isContract(target), "Address: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.call{ value: value }(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
return functionStaticCall(target, data, "Address: low-level static call failed");
}
function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
require(isContract(target), "Address: static call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.staticcall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
return functionDelegateCall(target, data, "Address: low-level delegate call failed");
}
function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
require(isContract(target), "Address: delegate call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.delegatecall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
// solhint-disable-next-line no-inline-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
contract POLCBridgeTransfers is Context {
event BridgeTransfer(address indexed from, address indexed to, uint256 amount, uint256 gasFee);
address payable public bankVault;
address public feesVault;
address public polcTokenAddress;
uint256 public bridgeFee;
uint256 public gasFee;
IERC20Token private polcToken;
POLCProfits public profitsContract;
mapping (uint8 => address) public managers;
mapping (bytes32 => bool) public executedTask;
uint16 public taskIndex;
modifier isManager() {
require(managers[0] == msg.sender || managers[1] == msg.sender || managers[2] == msg.sender, "Not manager");
_;
}
constructor() {
polcTokenAddress = 0xaA8330FB2B4D5D07ABFE7A72262752a8505C6B37;
polcToken = IERC20Token(polcTokenAddress);
bankVault = payable(0xf7A9F6001ff8b499149569C54852226d719f2D76);
feesVault = 0xf7A9F6001ff8b499149569C54852226d719f2D76;
managers[0] = msg.sender;
managers[1] = 0xeA50CE6EBb1a5E4A8F90Bfb35A2fb3c3F0C673ec;
managers[2] = 0xB1A951141F1b3A16824241f687C3741459E33225;
bridgeFee = 1;
gasFee = (1 gwei)*70000;
}
function bridgeSend(address _receiver, uint256 _amount) public payable returns (bool) {
require((_amount>=(50 ether) && _amount<=(50000 ether)), "Invalid amount");
require(msg.value >= gasFee, "Invalid gas fee");
uint256 fee;
if (bridgeFee > 0) {
fee = (_amount * bridgeFee) /100; // bridge transaction fee
profitsContract.addBankEarnings((fee / 20)); //25% of the fees goes to bank hodlers, 5 banks = 5% each
}
uint256 transferAmount = _amount-fee;
Address.sendValue(bankVault, msg.value);
require(polcToken.transferFrom(msg.sender, feesVault, _amount));
emit BridgeTransfer(msg.sender, _receiver, transferAmount, msg.value);
return true;
}
function setBankVault(address _vault, bytes memory _sig) public isManager {
uint8 mId = 1;
bytes32 taskHash = keccak256(abi.encode(_vault, taskIndex, mId));
verifyApproval(taskHash, _sig);
bankVault = payable(_vault);
}
function setFeesVault(address _vault, bytes memory _sig) public isManager {
uint8 mId = 2;
bytes32 taskHash = keccak256(abi.encode(_vault, taskIndex, mId));
verifyApproval(taskHash, _sig);
feesVault = _vault;
}
function setFee(uint256 _fee, bytes memory _sig) public isManager {
uint8 mId = 3;
bytes32 taskHash = keccak256(abi.encode(_fee, taskIndex, mId));
verifyApproval(taskHash, _sig);
bridgeFee = _fee;
}
function setProfitsContract(address _contract, bytes memory _sig) public isManager {
uint8 mId = 4;
bytes32 taskHash = keccak256(abi.encode(_contract, taskIndex, mId));
verifyApproval(taskHash, _sig);
profitsContract = POLCProfits(_contract);
}
function setGasFee(uint256 _fee, bytes memory _sig) public isManager {
uint8 mId = 5;
bytes32 taskHash = keccak256(abi.encode(_fee, taskIndex, mId));
verifyApproval(taskHash, _sig);
gasFee = _fee;
}
function verifyApproval(bytes32 _taskHash, bytes memory _sig) private {
require(executedTask[_taskHash] == false, "Task already executed");
address mSigner = ECDSA.recover(ECDSA.toEthSignedMessageHash(_taskHash), _sig);
require(mSigner == managers[0] || mSigner == managers[1] || mSigner == managers[2], "Invalid signature" );
require(mSigner != msg.sender, "Signature from different managers required");
executedTask[_taskHash] = true;
taskIndex += 1;
}
function changeManager(address _manager, uint8 _index, bytes memory _sig) public isManager {
require(_index >= 0 && _index <= 2, "Invalid index");
uint8 mId = 100;
bytes32 taskHash = keccak256(abi.encode(_manager, taskIndex, mId));
verifyApproval(taskHash, _sig);
managers[_index] = _manager;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gasFee","type":"uint256"}],"name":"BridgeTransfer","type":"event"},{"inputs":[],"name":"bankVault","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bridgeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"bridgeSend","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"},{"internalType":"uint8","name":"_index","type":"uint8"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"changeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"executedTask","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feesVault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gasFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"managers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"polcTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitsContract","outputs":[{"internalType":"contract POLCProfits","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"setBankVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"setFeesVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"setGasFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"setProfitsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"taskIndex","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50600280546001600160a01b031990811673aa8330fb2b4d5d07abfe7a72262752a8505c6b37178083556005805483166001600160a01b039290921691909117905560008054821673f7a9f6001ff8b499149569c54852226d719f2d769081178255600180548416909117815560076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df80548416331790557fb39221ace053465ec3453ce2b36430bd138b997ecea25c1043da0c366812b8288054841673ea50ce6ebb1a5e4a8f90bfb35a2fb3c3f0c673ec1790559290527fb7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d805490911673b1a951141f1b3a16824241f687c3741459e33225179055600355653faa2522600060045561151f806101456000396000f3fe6080604052600436106100f35760003560e01c8063b76bb6101161008a578063d58177fe11610059578063d58177fe146102c8578063ec58d180146102e8578063ec8d3f5214610308578063fdc5c83714610328576100f3565b8063b76bb61014610224578063b84254d71461025a578063c717a86e14610288578063cea93fc3146102a8576100f3565b80637fdb6de4116100c65780637fdb6de4146101a357806382b12dd7146101b65780638bad535f146101cc578063b46bdcdb14610204576100f3565b80631b9ab685146100f8578063375e65b21461013d5780633d55d3f61461015f578063658612e91461017f575b600080fd5b34801561010457600080fd5b50610128610113366004611333565b60086020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561014957600080fd5b5061015d61015836600461134b565b610348565b005b34801561016b57600080fd5b5061015d61017a36600461134b565b61043b565b34801561018b57600080fd5b5061019560045481565b604051908152602001610134565b6101286101b1366004611287565b610525565b3480156101c257600080fd5b5061019560035481565b3480156101d857600080fd5b506000546101ec906001600160a01b031681565b6040516001600160a01b039091168152602001610134565b34801561021057600080fd5b5061015d61021f36600461123b565b61076c565b34801561023057600080fd5b506101ec61023f36600461137a565b6007602052600090815260409020546001600160a01b031681565b34801561026657600080fd5b506009546102759061ffff1681565b60405161ffff9091168152602001610134565b34801561029457600080fd5b506001546101ec906001600160a01b031681565b3480156102b457600080fd5b506006546101ec906001600160a01b031681565b3480156102d457600080fd5b5061015d6102e336600461123b565b61086f565b3480156102f457600080fd5b5061015d6103033660046112b0565b610972565b34801561031457600080fd5b5061015d61032336600461123b565b610ac7565b34801561033457600080fd5b506002546101ec906001600160a01b031681565b6000805260076020526000805160206114ca833981519152546001600160a01b031633148061039857506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806103c45750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6103e95760405162461bcd60e51b81526004016103e0906113bc565b60405180910390fd5b600954604080516020810185905261ffff90921690820152600360608201819052906000906080016040516020818303038152906040528051906020012090506104338184610bca565b505050600355565b6000805260076020526000805160206114ca833981519152546001600160a01b031633148061048b57506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806104b75750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6104d35760405162461bcd60e51b81526004016103e0906113bc565b600954604080516020810185905261ffff909216908201526005606082018190529060009060800160405160208183030381529060405280519060200120905061051d8184610bca565b505050600455565b60006802b5e3af16b1880000821015801561054a5750690a968163f0a57b4000008211155b6105875760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064016103e0565b6004543410156105cb5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206761732066656560881b60448201526064016103e0565b60035460009015610660576064600354846105e69190611427565b6105f09190611407565b6006549091506001600160a01b03166312f28f1061060f601484611407565b6040518263ffffffff1660e01b815260040161062d91815260200190565b600060405180830381600087803b15801561064757600080fd5b505af115801561065b573d6000803e3d6000fd5b505050505b600061066c8285611446565b600054909150610685906001600160a01b031634610dbb565b6005546001546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018790529116906323b872dd90606401602060405180830381600087803b1580156106db57600080fd5b505af11580156106ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610713919061130c565b61071c57600080fd5b604080518281523460208201526001600160a01b0387169133917ff96bbaed0f71c8642f761c4f790187c4ba5488fa2c374bc9a86d2e0e120da2da910160405180910390a3506001949350505050565b6000805260076020526000805160206114ca833981519152546001600160a01b03163314806107bc57506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806107e85750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6108045760405162461bcd60e51b81526004016103e0906113bc565b60095460405160049160009161082791869161ffff909116908590602001611394565b6040516020818303038152906040528051906020012090506108498184610bca565b5050600680546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805260076020526000805160206114ca833981519152546001600160a01b03163314806108bf57506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806108eb5750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6109075760405162461bcd60e51b81526004016103e0906113bc565b60095460405160019160009161092a91869161ffff909116908590602001611394565b60405160208183030381529060405280519060200120905061094c8184610bca565b5050600080546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805260076020526000805160206114ca833981519152546001600160a01b03163314806109c257506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806109ee5750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b610a0a5760405162461bcd60e51b81526004016103e0906113bc565b60028260ff161115610a4e5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b60448201526064016103e0565b600954604051606491600091610a7191879161ffff909116908590602001611394565b604051602081830303815290604052805190602001209050610a938184610bca565b50505060ff16600090815260076020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000805260076020526000805160206114ca833981519152546001600160a01b0316331480610b1757506001600052600760205260008051602061148a833981519152546001600160a01b031633145b80610b435750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b610b5f5760405162461bcd60e51b81526004016103e0906113bc565b600954604051600291600091610b8291869161ffff909116908590602001611394565b604051602081830303815290604052805190602001209050610ba48184610bca565b5050600180546001600160a01b0319166001600160a01b03939093169290921790915550565b60008281526008602052604090205460ff1615610c215760405162461bcd60e51b815260206004820152601560248201527415185cdac8185b1c9958591e48195e1958dd5d1959605a1b60448201526064016103e0565b6000610c35610c2f84610ed9565b83610f2d565b6000805260076020526000805160206114ca833981519152549091506001600160a01b0380831691161480610c8e57506001600052600760205260008051602061148a833981519152546001600160a01b038281169116145b80610cbd5750600260005260076020526000805160206114aa833981519152546001600160a01b038281169116145b610cfd5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b60448201526064016103e0565b6001600160a01b038116331415610d695760405162461bcd60e51b815260206004820152602a60248201527f5369676e61747572652066726f6d20646966666572656e74206d616e616765726044820152691cc81c995c5d5a5c995960b21b60648201526084016103e0565b6000838152600860205260408120805460ff191660019081179091556009805491929091610d9c90849061ffff166113e1565b92506101000a81548161ffff021916908361ffff160217905550505050565b80471015610e0b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016103e0565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e58576040519150601f19603f3d011682016040523d82523d6000602084013e610e5d565b606091505b5050905080610ed45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016103e0565b505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016040516020818303038152906040528051906020012090505b919050565b600080600080845160411415610f575750505060208201516040830151606084015160001a610fcd565b845160401415610f855750505060408201516020830151906001600160ff1b0381169060ff1c601b01610fcd565b60405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016103e0565b610fd986828585610fe3565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156110605760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016103e0565b8360ff16601b148061107557508360ff16601c145b6110cc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016103e0565b6040805160008082526020820180845288905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015611120573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166111835760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016103e0565b95945050505050565b80356001600160a01b0381168114610f2857600080fd5b600082601f8301126111b3578081fd5b813567ffffffffffffffff808211156111ce576111ce611473565b604051601f8301601f19908116603f011681019082821181831017156111f6576111f6611473565b8160405283815286602085880101111561120e578485fd5b8360208701602083013792830160200193909352509392505050565b803560ff81168114610f2857600080fd5b6000806040838503121561124d578182fd5b6112568361118c565b9150602083013567ffffffffffffffff811115611271578182fd5b61127d858286016111a3565b9150509250929050565b60008060408385031215611299578182fd5b6112a28361118c565b946020939093013593505050565b6000806000606084860312156112c4578081fd5b6112cd8461118c565b92506112db6020850161122a565b9150604084013567ffffffffffffffff8111156112f6578182fd5b611302868287016111a3565b9150509250925092565b60006020828403121561131d578081fd5b8151801515811461132c578182fd5b9392505050565b600060208284031215611344578081fd5b5035919050565b6000806040838503121561135d578182fd5b82359150602083013567ffffffffffffffff811115611271578182fd5b60006020828403121561138b578081fd5b61132c8261122a565b6001600160a01b0393909316835261ffff91909116602083015260ff16604082015260600190565b6020808252600b908201526a2737ba1036b0b730b3b2b960a91b604082015260600190565b600061ffff8083168185168083038211156113fe576113fe61145d565b01949350505050565b60008261142257634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156114415761144161145d565b500290565b6000828210156114585761145861145d565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfeb39221ace053465ec3453ce2b36430bd138b997ecea25c1043da0c366812b828b7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6dfa26469706673582212209d1923e7c74708a41c5d0a8ad7b9bd10d67fbd85fb82b1ef18dc99455fa4385c64736f6c63430008020033
Deployed Bytecode
0x6080604052600436106100f35760003560e01c8063b76bb6101161008a578063d58177fe11610059578063d58177fe146102c8578063ec58d180146102e8578063ec8d3f5214610308578063fdc5c83714610328576100f3565b8063b76bb61014610224578063b84254d71461025a578063c717a86e14610288578063cea93fc3146102a8576100f3565b80637fdb6de4116100c65780637fdb6de4146101a357806382b12dd7146101b65780638bad535f146101cc578063b46bdcdb14610204576100f3565b80631b9ab685146100f8578063375e65b21461013d5780633d55d3f61461015f578063658612e91461017f575b600080fd5b34801561010457600080fd5b50610128610113366004611333565b60086020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561014957600080fd5b5061015d61015836600461134b565b610348565b005b34801561016b57600080fd5b5061015d61017a36600461134b565b61043b565b34801561018b57600080fd5b5061019560045481565b604051908152602001610134565b6101286101b1366004611287565b610525565b3480156101c257600080fd5b5061019560035481565b3480156101d857600080fd5b506000546101ec906001600160a01b031681565b6040516001600160a01b039091168152602001610134565b34801561021057600080fd5b5061015d61021f36600461123b565b61076c565b34801561023057600080fd5b506101ec61023f36600461137a565b6007602052600090815260409020546001600160a01b031681565b34801561026657600080fd5b506009546102759061ffff1681565b60405161ffff9091168152602001610134565b34801561029457600080fd5b506001546101ec906001600160a01b031681565b3480156102b457600080fd5b506006546101ec906001600160a01b031681565b3480156102d457600080fd5b5061015d6102e336600461123b565b61086f565b3480156102f457600080fd5b5061015d6103033660046112b0565b610972565b34801561031457600080fd5b5061015d61032336600461123b565b610ac7565b34801561033457600080fd5b506002546101ec906001600160a01b031681565b6000805260076020526000805160206114ca833981519152546001600160a01b031633148061039857506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806103c45750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6103e95760405162461bcd60e51b81526004016103e0906113bc565b60405180910390fd5b600954604080516020810185905261ffff90921690820152600360608201819052906000906080016040516020818303038152906040528051906020012090506104338184610bca565b505050600355565b6000805260076020526000805160206114ca833981519152546001600160a01b031633148061048b57506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806104b75750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6104d35760405162461bcd60e51b81526004016103e0906113bc565b600954604080516020810185905261ffff909216908201526005606082018190529060009060800160405160208183030381529060405280519060200120905061051d8184610bca565b505050600455565b60006802b5e3af16b1880000821015801561054a5750690a968163f0a57b4000008211155b6105875760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064016103e0565b6004543410156105cb5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206761732066656560881b60448201526064016103e0565b60035460009015610660576064600354846105e69190611427565b6105f09190611407565b6006549091506001600160a01b03166312f28f1061060f601484611407565b6040518263ffffffff1660e01b815260040161062d91815260200190565b600060405180830381600087803b15801561064757600080fd5b505af115801561065b573d6000803e3d6000fd5b505050505b600061066c8285611446565b600054909150610685906001600160a01b031634610dbb565b6005546001546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018790529116906323b872dd90606401602060405180830381600087803b1580156106db57600080fd5b505af11580156106ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610713919061130c565b61071c57600080fd5b604080518281523460208201526001600160a01b0387169133917ff96bbaed0f71c8642f761c4f790187c4ba5488fa2c374bc9a86d2e0e120da2da910160405180910390a3506001949350505050565b6000805260076020526000805160206114ca833981519152546001600160a01b03163314806107bc57506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806107e85750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6108045760405162461bcd60e51b81526004016103e0906113bc565b60095460405160049160009161082791869161ffff909116908590602001611394565b6040516020818303038152906040528051906020012090506108498184610bca565b5050600680546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805260076020526000805160206114ca833981519152546001600160a01b03163314806108bf57506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806108eb5750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b6109075760405162461bcd60e51b81526004016103e0906113bc565b60095460405160019160009161092a91869161ffff909116908590602001611394565b60405160208183030381529060405280519060200120905061094c8184610bca565b5050600080546001600160a01b0319166001600160a01b03939093169290921790915550565b6000805260076020526000805160206114ca833981519152546001600160a01b03163314806109c257506001600052600760205260008051602061148a833981519152546001600160a01b031633145b806109ee5750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b610a0a5760405162461bcd60e51b81526004016103e0906113bc565b60028260ff161115610a4e5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b60448201526064016103e0565b600954604051606491600091610a7191879161ffff909116908590602001611394565b604051602081830303815290604052805190602001209050610a938184610bca565b50505060ff16600090815260076020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000805260076020526000805160206114ca833981519152546001600160a01b0316331480610b1757506001600052600760205260008051602061148a833981519152546001600160a01b031633145b80610b435750600260005260076020526000805160206114aa833981519152546001600160a01b031633145b610b5f5760405162461bcd60e51b81526004016103e0906113bc565b600954604051600291600091610b8291869161ffff909116908590602001611394565b604051602081830303815290604052805190602001209050610ba48184610bca565b5050600180546001600160a01b0319166001600160a01b03939093169290921790915550565b60008281526008602052604090205460ff1615610c215760405162461bcd60e51b815260206004820152601560248201527415185cdac8185b1c9958591e48195e1958dd5d1959605a1b60448201526064016103e0565b6000610c35610c2f84610ed9565b83610f2d565b6000805260076020526000805160206114ca833981519152549091506001600160a01b0380831691161480610c8e57506001600052600760205260008051602061148a833981519152546001600160a01b038281169116145b80610cbd5750600260005260076020526000805160206114aa833981519152546001600160a01b038281169116145b610cfd5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b60448201526064016103e0565b6001600160a01b038116331415610d695760405162461bcd60e51b815260206004820152602a60248201527f5369676e61747572652066726f6d20646966666572656e74206d616e616765726044820152691cc81c995c5d5a5c995960b21b60648201526084016103e0565b6000838152600860205260408120805460ff191660019081179091556009805491929091610d9c90849061ffff166113e1565b92506101000a81548161ffff021916908361ffff160217905550505050565b80471015610e0b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016103e0565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e58576040519150601f19603f3d011682016040523d82523d6000602084013e610e5d565b606091505b5050905080610ed45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016103e0565b505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016040516020818303038152906040528051906020012090505b919050565b600080600080845160411415610f575750505060208201516040830151606084015160001a610fcd565b845160401415610f855750505060408201516020830151906001600160ff1b0381169060ff1c601b01610fcd565b60405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016103e0565b610fd986828585610fe3565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156110605760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016103e0565b8360ff16601b148061107557508360ff16601c145b6110cc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016103e0565b6040805160008082526020820180845288905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015611120573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166111835760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016103e0565b95945050505050565b80356001600160a01b0381168114610f2857600080fd5b600082601f8301126111b3578081fd5b813567ffffffffffffffff808211156111ce576111ce611473565b604051601f8301601f19908116603f011681019082821181831017156111f6576111f6611473565b8160405283815286602085880101111561120e578485fd5b8360208701602083013792830160200193909352509392505050565b803560ff81168114610f2857600080fd5b6000806040838503121561124d578182fd5b6112568361118c565b9150602083013567ffffffffffffffff811115611271578182fd5b61127d858286016111a3565b9150509250929050565b60008060408385031215611299578182fd5b6112a28361118c565b946020939093013593505050565b6000806000606084860312156112c4578081fd5b6112cd8461118c565b92506112db6020850161122a565b9150604084013567ffffffffffffffff8111156112f6578182fd5b611302868287016111a3565b9150509250925092565b60006020828403121561131d578081fd5b8151801515811461132c578182fd5b9392505050565b600060208284031215611344578081fd5b5035919050565b6000806040838503121561135d578182fd5b82359150602083013567ffffffffffffffff811115611271578182fd5b60006020828403121561138b578081fd5b61132c8261122a565b6001600160a01b0393909316835261ffff91909116602083015260ff16604082015260600190565b6020808252600b908201526a2737ba1036b0b730b3b2b960a91b604082015260600190565b600061ffff8083168185168083038211156113fe576113fe61145d565b01949350505050565b60008261142257634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156114415761144161145d565b500290565b6000828210156114585761145861145d565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfeb39221ace053465ec3453ce2b36430bd138b997ecea25c1043da0c366812b828b7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96d6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6dfa26469706673582212209d1923e7c74708a41c5d0a8ad7b9bd10d67fbd85fb82b1ef18dc99455fa4385c64736f6c63430008020033
Deployed Bytecode Sourcemap
10480:4229:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10923:45;;;;;;;;;;-1:-1:-1;10923:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5320:14:1;;5313:22;5295:41;;5283:2;5268:18;10923:45:0;;;;;;;;13024:242;;;;;;;;;;-1:-1:-1;13024:242:0;;;;;:::i;:::-;;:::i;:::-;;13571:239;;;;;;;;;;-1:-1:-1;13571:239:0;;;;;:::i;:::-;;:::i;10769:21::-;;;;;;;;;;;;;;;;;;;11095:25:1;;;11083:2;11068:18;10769:21:0;11050:76:1;11714:763:0;;;;;;:::i;:::-;;:::i;10738:24::-;;;;;;;;;;;;;;;;10630:32;;;;;;;;;;-1:-1:-1;10630:32:0;;;;-1:-1:-1;;;;;10630:32:0;;;;;;-1:-1:-1;;;;;4139:32:1;;;4121:51;;4109:2;4094:18;10630:32:0;4076:102:1;13278:285:0;;;;;;;;;;-1:-1:-1;13278:285:0;;;;;:::i;:::-;;:::i;10874:42::-;;;;;;;;;;-1:-1:-1;10874:42:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;10874:42:0;;;10977:23;;;;;;;;;;-1:-1:-1;10977:23:0;;;;;;;;;;;10930:6:1;10918:19;;;10900:38;;10888:2;10873:18;10977:23:0;10855:89:1;10669:24:0;;;;;;;;;;-1:-1:-1;10669:24:0;;;;-1:-1:-1;;;;;10669:24:0;;;10833:34;;;;;;;;;;-1:-1:-1;10833:34:0;;;;-1:-1:-1;;;;;10833:34:0;;;12489:260;;;;;;;;;;-1:-1:-1;12489:260:0;;;;;:::i;:::-;;:::i;14348:344::-;;;;;;;;;;-1:-1:-1;14348:344:0;;;;;:::i;:::-;;:::i;12761:251::-;;;;;;;;;;-1:-1:-1;12761:251:0;;;;;:::i;:::-;;:::i;10700:31::-;;;;;;;;;;-1:-1:-1;10700:31:0;;;;-1:-1:-1;;;;;10700:31:0;;;13024:242;11053:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;11053:11:0;-1:-1:-1;;;;;11053:11:0;11068:10;11053:25;;:54;;-1:-1:-1;11091:1:0;11082:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11082:11:0;-1:-1:-1;;;;;11082:11:0;11097:10;11082:25;11053:54;:83;;;-1:-1:-1;11120:1:0;11111:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11111:11:0;-1:-1:-1;;;;;11111:11:0;11126:10;11111:25;11053:83;11045:107;;;;-1:-1:-1;;;11045:107:0;;;;;;;:::i;:::-;;;;;;;;;13171:9:::1;::::0;13154:32:::1;::::0;;::::1;::::0;::::1;11327:25:1::0;;;13171:9:0::1;::::0;;::::1;11368:18:1::0;;;11361:47;13113:1:0::1;11424:18:1::0;;;11417:45;;;13113:1:0;13101:9:::1;::::0;11300:18:1;;13154:32:0::1;;;;;;;;;;;;13144:43;;;;;;13125:62;;13198:30;13213:8;13223:4;13198:14;:30::i;:::-;-1:-1:-1::0;;;13239:9:0::1;:16:::0;13024:242::o;13571:239::-;11053:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;11053:11:0;-1:-1:-1;;;;;11053:11:0;11068:10;11053:25;;:54;;-1:-1:-1;11091:1:0;11082:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11082:11:0;-1:-1:-1;;;;;11082:11:0;11097:10;11082:25;11053:54;:83;;;-1:-1:-1;11120:1:0;11111:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11111:11:0;-1:-1:-1;;;;;11111:11:0;11126:10;11111:25;11053:83;11045:107;;;;-1:-1:-1;;;11045:107:0;;;;;;;:::i;:::-;13721:9:::1;::::0;13704:32:::1;::::0;;::::1;::::0;::::1;11327:25:1::0;;;13721:9:0::1;::::0;;::::1;11368:18:1::0;;;11361:47;13663:1:0::1;11424:18:1::0;;;11417:45;;;13663:1:0;13651:9:::1;::::0;11300:18:1;;13704:32:0::1;;;;;;;;;;;;13694:43;;;;;;13675:62;;13748:30;13763:8;13773:4;13748:14;:30::i;:::-;-1:-1:-1::0;;;13789:6:0::1;:13:::0;13571:239::o;11714:763::-;11794:4;11830:8;11820:7;:19;;:45;;;;;11853:11;11843:7;:22;;11820:45;11811:74;;;;-1:-1:-1;;;11811:74:0;;7231:2:1;11811:74:0;;;7213:21:1;7270:2;7250:18;;;7243:30;-1:-1:-1;;;7289:18:1;;;7282:44;7343:18;;11811:74:0;7203:164:1;11811:74:0;11917:6;;11904:9;:19;;11896:47;;;;-1:-1:-1;;;11896:47:0;;10614:2:1;11896:47:0;;;10596:21:1;10653:2;10633:18;;;10626:30;-1:-1:-1;;;10672:18:1;;;10665:45;10727:18;;11896:47:0;10586:165:1;11896:47:0;11980:9;;11954:11;;11980:13;11976:221;;12039:3;12027:9;;12017:7;:19;;;;:::i;:::-;12016:26;;;;:::i;:::-;12084:15;;12010:32;;-1:-1:-1;;;;;;12084:15:0;:31;12117:8;12123:2;12010:32;12117:8;:::i;:::-;12084:43;;;;;;;;;;;;;11095:25:1;;11083:2;11068:18;;11050:76;12084:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11976:221;12207:22;12232:11;12240:3;12232:7;:11;:::i;:::-;12272:9;;12207:36;;-1:-1:-1;12254:39:0;;-1:-1:-1;;;;;12272:9:0;12283;12254:17;:39::i;:::-;12312:9;;;12347;12312:54;;-1:-1:-1;;;12312:54:0;;12335:10;12312:54;;;4647:34:1;-1:-1:-1;;;;;12347:9:0;;;4697:18:1;;;4690:43;4749:18;;;4742:34;;;12312:9:0;;;:22;;4582:18:1;;12312:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12304:63;;;;;;12383:64;;;11647:25:1;;;12437:9:0;11703:2:1;11688:18;;11681:34;-1:-1:-1;;;;;12383:64:0;;;12398:10;;12383:64;;11620:18:1;12383:64:0;;;;;;;-1:-1:-1;12465:4:0;;11714:763;-1:-1:-1;;;;11714:763:0:o;13278:285::-;11053:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;11053:11:0;-1:-1:-1;;;;;11053:11:0;11068:10;11053:25;;:54;;-1:-1:-1;11091:1:0;11082:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11082:11:0;-1:-1:-1;;;;;11082:11:0;11097:10;11082:25;11053:54;:83;;;-1:-1:-1;11120:1:0;11111:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11111:11:0;-1:-1:-1;;;;;11111:11:0;11126:10;11111:25;11053:83;11045:107;;;;-1:-1:-1;;;11045:107:0;;;;;;;:::i;:::-;13447:9:::1;::::0;13425:37:::1;::::0;13384:1:::1;::::0;13372:9:::1;::::0;13425:37:::1;::::0;13436:9;;13447::::1;::::0;;::::1;::::0;13384:1;;13425:37:::1;;;:::i;:::-;;;;;;;;;;;;;13415:48;;;;;;13396:67;;13474:30;13489:8;13499:4;13474:14;:30::i;:::-;-1:-1:-1::0;;13515:15:0::1;:40:::0;;-1:-1:-1;;;;;;13515:40:0::1;-1:-1:-1::0;;;;;13515:40:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;13278:285:0:o;12489:260::-;11053:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;11053:11:0;-1:-1:-1;;;;;11053:11:0;11068:10;11053:25;;:54;;-1:-1:-1;11091:1:0;11082:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11082:11:0;-1:-1:-1;;;;;11082:11:0;11097:10;11082:25;11053:54;:83;;;-1:-1:-1;11120:1:0;11111:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11111:11:0;-1:-1:-1;;;;;11111:11:0;11126:10;11111:25;11053:83;11045:107;;;;-1:-1:-1;;;11045:107:0;;;;;;;:::i;:::-;12646:9:::1;::::0;12627:34:::1;::::0;12586:1:::1;::::0;12574:9:::1;::::0;12627:34:::1;::::0;12638:6;;12646:9:::1;::::0;;::::1;::::0;12586:1;;12627:34:::1;;;:::i;:::-;;;;;;;;;;;;;12617:45;;;;;;12598:64;;12673:30;12688:8;12698:4;12673:14;:30::i;:::-;-1:-1:-1::0;;12714:9:0::1;:27:::0;;-1:-1:-1;;;;;;12714:27:0::1;-1:-1:-1::0;;;;;12714:27:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;12489:260:0:o;14348:344::-;11053:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;11053:11:0;-1:-1:-1;;;;;11053:11:0;11068:10;11053:25;;:54;;-1:-1:-1;11091:1:0;11082:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11082:11:0;-1:-1:-1;;;;;11082:11:0;11097:10;11082:25;11053:54;:83;;;-1:-1:-1;11120:1:0;11111:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11111:11:0;-1:-1:-1;;;;;11111:11:0;11126:10;11111:25;11053:83;11045:107;;;;-1:-1:-1;;;11045:107:0;;;;;;;:::i;:::-;14483:1:::1;14473:6;:11;;;;14450:52;;;::::0;-1:-1:-1;;;14450:52:0;;7574:2:1;14450:52:0::1;::::0;::::1;7556:21:1::0;7613:2;7593:18;;;7586:30;-1:-1:-1;;;7632:18:1;;;7625:43;7685:18;;14450:52:0::1;7546:163:1::0;14450:52:0::1;14589:9;::::0;14568:36:::1;::::0;14525:3:::1;::::0;14513:9:::1;::::0;14568:36:::1;::::0;14579:8;;14589:9:::1;::::0;;::::1;::::0;14525:3;;14568:36:::1;;;:::i;:::-;;;;;;;;;;;;;14558:47;;;;;;14539:66;;14616:30;14631:8;14641:4;14616:14;:30::i;:::-;-1:-1:-1::0;;;14657:16:0::1;;;::::0;;;:8:::1;:16;::::0;;;;:27;;-1:-1:-1;;;;;;14657:27:0::1;-1:-1:-1::0;;;;;14657:27:0;;;::::1;::::0;;;::::1;::::0;;14348:344::o;12761:251::-;11053:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;11053:11:0;-1:-1:-1;;;;;11053:11:0;11068:10;11053:25;;:54;;-1:-1:-1;11091:1:0;11082:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11082:11:0;-1:-1:-1;;;;;11082:11:0;11097:10;11082:25;11053:54;:83;;;-1:-1:-1;11120:1:0;11111:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;11111:11:0;-1:-1:-1;;;;;11111:11:0;11126:10;11111:25;11053:83;11045:107;;;;-1:-1:-1;;;11045:107:0;;;;;;;:::i;:::-;12918:9:::1;::::0;12899:34:::1;::::0;12858:1:::1;::::0;12846:9:::1;::::0;12899:34:::1;::::0;12910:6;;12918:9:::1;::::0;;::::1;::::0;12858:1;;12899:34:::1;;;:::i;:::-;;;;;;;;;;;;;12889:45;;;;;;12870:64;;12945:30;12960:8;12970:4;12945:14;:30::i;:::-;-1:-1:-1::0;;12986:9:0::1;:18:::0;;-1:-1:-1;;;;;;12986:18:0::1;-1:-1:-1::0;;;;;12986:18:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;12761:251:0:o;13822:514::-;13911:23;;;;:12;:23;;;;;;;;:32;13903:66;;;;-1:-1:-1;;;13903:66:0;;7916:2:1;13903:66:0;;;7898:21:1;7955:2;7935:18;;;7928:30;-1:-1:-1;;;7974:18:1;;;7967:51;8035:18;;13903:66:0;7888:171:1;13903:66:0;13980:15;13998:60;14012:39;14041:9;14012:28;:39::i;:::-;14053:4;13998:13;:60::i;:::-;14088:11;;;:8;:11;;-1:-1:-1;;;;;;;;;;;14088:11:0;13980:78;;-1:-1:-1;;;;;;14077:22:0;;;14088:11;;14077:22;;:48;;-1:-1:-1;14123:1:0;14114:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;14114:11:0;-1:-1:-1;;;;;14103:22:0;;;14114:11;;14103:22;14077:48;:74;;;-1:-1:-1;14149:1:0;14140:11;;:8;:11;;-1:-1:-1;;;;;;;;;;;14140:11:0;-1:-1:-1;;;;;14129:22:0;;;14140:11;;14129:22;14077:74;14069:106;;;;-1:-1:-1;;;14069:106:0;;8266:2:1;14069:106:0;;;8248:21:1;8305:2;8285:18;;;8278:30;-1:-1:-1;;;8324:18:1;;;8317:47;8381:18;;14069:106:0;8238:167:1;14069:106:0;-1:-1:-1;;;;;14194:21:0;;14205:10;14194:21;;14186:76;;;;-1:-1:-1;;;14186:76:0;;9800:2:1;14186:76:0;;;9782:21:1;9839:2;9819:18;;;9812:30;9878:34;9858:18;;;9851:62;-1:-1:-1;;;9929:18:1;;;9922:40;9979:19;;14186:76:0;9772:232:1;14186:76:0;14273:23;;;;:12;:23;;;;;:30;;-1:-1:-1;;14273:30:0;14299:4;14273:30;;;;;;14314:9;:14;;14299:4;;14314:9;;:14;;14299:4;;14314:14;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13822:514;;;:::o;6470:397::-;6585:6;6560:21;:31;;6552:73;;;;-1:-1:-1;;;6552:73:0;;9442:2:1;6552:73:0;;;9424:21:1;9481:2;9461:18;;;9454:30;9520:31;9500:18;;;9493:59;9569:18;;6552:73:0;9414:179:1;6552:73:0;6717:12;6735:9;-1:-1:-1;;;;;6735:14:0;6758:6;6735:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6716:54;;;6789:7;6781:78;;;;-1:-1:-1;;;6781:78:0;;8612:2:1;6781:78:0;;;8594:21:1;8651:2;8631:18;;;8624:30;8690:34;8670:18;;;8663:62;8761:28;8741:18;;;8734:56;8807:19;;6781:78:0;8584:248:1;6781:78:0;6470:397;;;:::o;5191:269::-;5393:58;;3622:66:1;5393:58:0;;;3610:79:1;3705:12;;;3698:28;;;5260:7:0;;3742:12:1;;5393:58:0;;;;;;;;;;;;5383:69;;;;;;5376:76;;5191:269;;;;:::o;1828:1492::-;1906:7;1983:9;2003;2023:7;2243:9;:16;2263:2;2243:22;2239:1032;;;-1:-1:-1;;;2530:4:0;2515:20;;2509:27;2580:4;2565:20;;2559:27;2638:4;2623:20;;2617:27;2614:1;2609:36;2485:175;;;2681:9;:16;2701:2;2681:22;2677:594;;;-1:-1:-1;;;2973:4:0;2958:20;;2952:27;3023:4;3008:20;;3002:27;;-1:-1:-1;;;;;3052:75:0;;;3158:3;3154:12;3168:2;3150:21;2923:263;;;3218:41;;-1:-1:-1;;;3218:41:0;;6871:2:1;3218:41:0;;;6853:21:1;6910:2;6890:18;;;6883:30;6949:33;6929:18;;;6922:61;7000:18;;3218:41:0;6843:181:1;2677:594:0;3290:22;3298:4;3304:1;3307;3310;3290:7;:22::i;:::-;3283:29;1828:1492;-1:-1:-1;;;;;;1828:1492:0:o;3459:1432::-;3544:7;4469:66;4455:80;;;4447:127;;;;-1:-1:-1;;;4447:127:0;;9039:2:1;4447:127:0;;;9021:21:1;9078:2;9058:18;;;9051:30;9117:34;9097:18;;;9090:62;-1:-1:-1;;;9168:18:1;;;9161:32;9210:19;;4447:127:0;9011:224:1;4447:127:0;4593:1;:7;;4598:2;4593:7;:18;;;;4604:1;:7;;4609:2;4604:7;4593:18;4585:65;;;;-1:-1:-1;;;4585:65:0;;10211:2:1;4585:65:0;;;10193:21:1;10250:2;10230:18;;;10223:30;10289:34;10269:18;;;10262:62;-1:-1:-1;;;10340:18:1;;;10333:32;10382:19;;4585:65:0;10183:224:1;4585:65:0;4765:24;;;4748:14;4765:24;;;;;;;;;5574:25:1;;;5647:4;5635:17;;5615:18;;;5608:45;;;;5669:18;;;5662:34;;;5712:18;;;5705:34;;;4765:24:0;;5546:19:1;;4765:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4765:24:0;;-1:-1:-1;;4765:24:0;;;-1:-1:-1;;;;;;;4808:20:0;;4800:57;;;;-1:-1:-1;;;4800:57:0;;6178:2:1;4800:57:0;;;6160:21:1;6217:2;6197:18;;;6190:30;6256:26;6236:18;;;6229:54;6300:18;;4800:57:0;6150:174:1;4800:57:0;4877:6;3459:1432;-1:-1:-1;;;;;3459:1432:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;192:738;;287:3;280:4;272:6;268:17;264:27;254:2;;309:5;302;295:20;254:2;349:6;336:20;375:18;412:2;408;405:10;402:2;;;418:18;;:::i;:::-;493:2;487:9;461:2;547:13;;-1:-1:-1;;543:22:1;;;567:2;539:31;535:40;523:53;;;591:18;;;611:22;;;588:46;585:2;;;637:18;;:::i;:::-;677:10;673:2;666:22;712:2;704:6;697:18;758:3;751:4;746:2;738:6;734:15;730:26;727:35;724:2;;;779:5;772;765:20;724:2;847;840:4;832:6;828:17;821:4;813:6;809:17;796:54;870:15;;;887:4;866:26;859:41;;;;-1:-1:-1;874:6:1;244:686;-1:-1:-1;;;244:686:1:o;935:156::-;1001:20;;1061:4;1050:16;;1040:27;;1030:2;;1081:1;1078;1071:12;1096:414;;;1234:2;1222:9;1213:7;1209:23;1205:32;1202:2;;;1255:6;1247;1240:22;1202:2;1283:29;1302:9;1283:29;:::i;:::-;1273:39;;1363:2;1352:9;1348:18;1335:32;1390:18;1382:6;1379:30;1376:2;;;1427:6;1419;1412:22;1376:2;1455:49;1496:7;1487:6;1476:9;1472:22;1455:49;:::i;:::-;1445:59;;;1192:318;;;;;:::o;1515:264::-;;;1644:2;1632:9;1623:7;1619:23;1615:32;1612:2;;;1665:6;1657;1650:22;1612:2;1693:29;1712:9;1693:29;:::i;:::-;1683:39;1769:2;1754:18;;;;1741:32;;-1:-1:-1;;;1602:177:1:o;1784:484::-;;;;1937:2;1925:9;1916:7;1912:23;1908:32;1905:2;;;1958:6;1950;1943:22;1905:2;1986:29;2005:9;1986:29;:::i;:::-;1976:39;;2034:36;2066:2;2055:9;2051:18;2034:36;:::i;:::-;2024:46;;2121:2;2110:9;2106:18;2093:32;2148:18;2140:6;2137:30;2134:2;;;2185:6;2177;2170:22;2134:2;2213:49;2254:7;2245:6;2234:9;2230:22;2213:49;:::i;:::-;2203:59;;;1895:373;;;;;:::o;2273:297::-;;2393:2;2381:9;2372:7;2368:23;2364:32;2361:2;;;2414:6;2406;2399:22;2361:2;2451:9;2445:16;2504:5;2497:13;2490:21;2483:5;2480:32;2470:2;;2531:6;2523;2516:22;2470:2;2559:5;2351:219;-1:-1:-1;;;2351:219:1:o;2575:190::-;;2687:2;2675:9;2666:7;2662:23;2658:32;2655:2;;;2708:6;2700;2693:22;2655:2;-1:-1:-1;2736:23:1;;2645:120;-1:-1:-1;2645:120:1:o;2770:408::-;;;2908:2;2896:9;2887:7;2883:23;2879:32;2876:2;;;2929:6;2921;2914:22;2876:2;2970:9;2957:23;2947:33;;3031:2;3020:9;3016:18;3003:32;3058:18;3050:6;3047:30;3044:2;;;3095:6;3087;3080:22;3183:192;;3293:2;3281:9;3272:7;3268:23;3264:32;3261:2;;;3314:6;3306;3299:22;3261:2;3342:27;3359:9;3342:27;:::i;4787:363::-;-1:-1:-1;;;;;5001:32:1;;;;4983:51;;5082:6;5070:19;;;;5065:2;5050:18;;5043:47;5138:4;5126:17;5121:2;5106:18;;5099:45;4971:2;4956:18;;4938:212::o;6329:335::-;6531:2;6513:21;;;6570:2;6550:18;;;6543:30;-1:-1:-1;;;6604:2:1;6589:18;;6582:41;6655:2;6640:18;;6503:161::o;11726:224::-;;11793:6;11826:2;11823:1;11819:10;11856:2;11853:1;11849:10;11887:3;11883:2;11879:12;11874:3;11871:21;11868:2;;;11895:18;;:::i;:::-;11931:13;;11773:177;-1:-1:-1;;;;11773:177:1:o;11955:217::-;;12021:1;12011:2;;-1:-1:-1;;;12046:31:1;;12100:4;12097:1;12090:15;12128:4;12053:1;12118:15;12011:2;-1:-1:-1;12157:9:1;;12001:171::o;12177:168::-;;12283:1;12279;12275:6;12271:14;12268:1;12265:21;12260:1;12253:9;12246:17;12242:45;12239:2;;;12290:18;;:::i;:::-;-1:-1:-1;12330:9:1;;12229:116::o;12350:125::-;;12418:1;12415;12412:8;12409:2;;;12423:18;;:::i;:::-;-1:-1:-1;12460:9:1;;12399:76::o;12480:127::-;12541:10;12536:3;12532:20;12529:1;12522:31;12572:4;12569:1;12562:15;12596:4;12593:1;12586:15;12612:127;12673:10;12668:3;12664:20;12661:1;12654:31;12704:4;12701:1;12694:15;12728:4;12725:1;12718:15
Swarm Source
ipfs://9d1923e7c74708a41c5d0a8ad7b9bd10d67fbd85fb82b1ef18dc99455fa4385c
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.