BscScan - Sponsored slots available. Book your slot here!
Source Code
Latest 25 from a total of 637,151 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer Out | 92595811 | 19 mins ago | IN | 0 BNB | 0.00005238 | ||||
| Deposit With Exp... | 92592618 | 43 mins ago | IN | 0 BNB | 0.00000282 | ||||
| Deposit With Exp... | 92584135 | 1 hr ago | IN | 0 BNB | 0.00000342 | ||||
| Transfer Out | 92581144 | 2 hrs ago | IN | 0.19450705 BNB | 0.00003989 | ||||
| Transfer Out | 92571898 | 3 hrs ago | IN | 0.00071773 BNB | 0.00004252 | ||||
| Deposit With Exp... | 92570945 | 3 hrs ago | IN | 0 BNB | 0.00000428 | ||||
| Deposit With Exp... | 92569645 | 3 hrs ago | IN | 0 BNB | 0.00000314 | ||||
| Deposit With Exp... | 92559103 | 4 hrs ago | IN | 0.0132 BNB | 0.00000259 | ||||
| Deposit With Exp... | 92555502 | 5 hrs ago | IN | 0 BNB | 0.00042018 | ||||
| Transfer Out | 92554857 | 5 hrs ago | IN | 0 BNB | 0.00005966 | ||||
| Transfer Out | 92554527 | 5 hrs ago | IN | 0 BNB | 0.00007675 | ||||
| Deposit With Exp... | 92549224 | 6 hrs ago | IN | 0 BNB | 0.00000411 | ||||
| Deposit With Exp... | 92541786 | 7 hrs ago | IN | 0.00138685 BNB | 0.00000244 | ||||
| Transfer Out | 92540454 | 7 hrs ago | IN | 0 BNB | 0.00006948 | ||||
| Deposit With Exp... | 92539783 | 7 hrs ago | IN | 0 BNB | 0.00000314 | ||||
| Transfer Out | 92538256 | 7 hrs ago | IN | 79.96406983 BNB | 0.0000399 | ||||
| Transfer Out | 92538225 | 7 hrs ago | IN | 0 BNB | 0.00006947 | ||||
| Deposit With Exp... | 92537877 | 7 hrs ago | IN | 0.09163585 BNB | 0.00000204 | ||||
| Deposit With Exp... | 92536708 | 7 hrs ago | IN | 37.70679969 BNB | 0.00023501 | ||||
| Deposit With Exp... | 92536703 | 7 hrs ago | IN | 32.48282339 BNB | 0.00019584 | ||||
| Deposit With Exp... | 92536640 | 7 hrs ago | IN | 26.54722499 BNB | 0.00000587 | ||||
| Transfer Out | 92536492 | 7 hrs ago | IN | 0 BNB | 0.00005237 | ||||
| Transfer Out | 92532004 | 8 hrs ago | IN | 0.11660346 BNB | 0.00003989 | ||||
| Transfer Out | 92530788 | 8 hrs ago | IN | 0 BNB | 0.00005238 | ||||
| Transfer Out | 92530410 | 8 hrs ago | IN | 0 BNB | 0.00005239 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 92587449 | 1 hr ago | 0.005 BNB | ||||
| 92587449 | 1 hr ago | 0.005 BNB | ||||
| 92581144 | 2 hrs ago | 0.19450705 BNB | ||||
| 92571898 | 3 hrs ago | 0.00071773 BNB | ||||
| 92570830 | 3 hrs ago | 0.01 BNB | ||||
| 92570830 | 3 hrs ago | 0.01 BNB | ||||
| 92559103 | 4 hrs ago | 0.0132 BNB | ||||
| 92541786 | 7 hrs ago | 0.00138685 BNB | ||||
| 92538260 | 7 hrs ago | 0.001 BNB | ||||
| 92538260 | 7 hrs ago | 0.001 BNB | ||||
| 92538256 | 7 hrs ago | 79.96406983 BNB | ||||
| 92537911 | 7 hrs ago | 0.001 BNB | ||||
| 92537911 | 7 hrs ago | 0.001 BNB | ||||
| 92537877 | 7 hrs ago | 0.09163585 BNB | ||||
| 92537249 | 7 hrs ago | 0.0005 BNB | ||||
| 92537249 | 7 hrs ago | 0.0005 BNB | ||||
| 92536708 | 7 hrs ago | 37.70679969 BNB | ||||
| 92536703 | 7 hrs ago | 32.48282339 BNB | ||||
| 92536640 | 7 hrs ago | 26.54722499 BNB | ||||
| 92532444 | 8 hrs ago | 0.17043498 BNB | ||||
| 92532444 | 8 hrs ago | 0.17043498 BNB | ||||
| 92532004 | 8 hrs ago | 0.11660346 BNB | ||||
| 92526508 | 8 hrs ago | 0.008 BNB | ||||
| 92526508 | 8 hrs ago | 0.008 BNB | ||||
| 92520122 | 9 hrs ago | 0.0021 BNB |
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x00335DA4...8e57B9E22 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
THORChain_Router
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/**
*Submitted for verification at BscScan.com on 2023-05-30
*/
// SPDX-License-Identifier: MIT
// -------------------
// Router Version: 4.1
// -------------------
pragma solidity 0.8.13;
// ERC20 Interface
interface iERC20 {
function balanceOf(address) external view returns (uint256);
function burn(uint) external;
}
// ROUTER Interface
interface iROUTER {
function depositWithExpiry(address, address, uint, string calldata, uint) external;
}
// THORChain_Router is managed by THORChain Vaults
contract THORChain_Router {
struct Coin {
address asset;
uint amount;
}
// Vault allowance for each asset
mapping(address => mapping(address => uint)) private _vaultAllowance;
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
// Emitted for all deposits, the memo distinguishes for swap, add, remove, donate etc
event Deposit(address indexed to, address indexed asset, uint amount, string memo);
// Emitted for all outgoing transfers, the vault dictates who sent it, memo used to track.
event TransferOut(address indexed vault, address indexed to, address asset, uint amount, string memo);
// Emitted for all outgoing transferAndCalls, the vault dictates who sent it, memo used to track.
event TransferOutAndCall(address indexed vault, address target, uint amount, address finalAsset, address to, uint256 amountOutMin, string memo);
// Changes the spend allowance between vaults
event TransferAllowance(address indexed oldVault, address indexed newVault, address asset, uint amount, string memo);
// Specifically used to batch send the entire vault assets
event VaultTransfer(address indexed oldVault, address indexed newVault, Coin[] coins, string memo);
modifier nonReentrant() {
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
_status = _ENTERED;
_;
_status = _NOT_ENTERED;
}
constructor() {
_status = _NOT_ENTERED;
}
// Deposit with Expiry (preferred)
function depositWithExpiry(address payable vault, address asset, uint amount, string memory memo, uint expiration) external payable {
require(block.timestamp < expiration, "THORChain_Router: expired");
deposit(vault, asset, amount, memo);
}
// Deposit an asset with a memo. Native asset is forwarded, ERC-20 stays in ROUTER
function deposit(address payable vault, address asset, uint amount, string memory memo) private nonReentrant{
uint safeAmount;
if(asset == address(0)){
safeAmount = msg.value;
bool success = vault.send(safeAmount);
require(success);
} else {
require(msg.value == 0, "unexpected native asset"); // protect user from accidentally locking up native asset
safeAmount = safeTransferFrom(asset, amount); // Transfer asset
_vaultAllowance[vault][asset] += safeAmount; // Credit to chosen vault
}
emit Deposit(vault, asset, safeAmount, memo);
}
//############################## ALLOWANCE TRANSFERS ##############################
// Use for "moving" assets between vaults (asgard<>ygg), as well "churning" to a new Asgard
function transferAllowance(address router, address newVault, address asset, uint amount, string memory memo) external nonReentrant {
if (router == address(this)){
_adjustAllowances(newVault, asset, amount);
emit TransferAllowance(msg.sender, newVault, asset, amount, memo);
} else {
_routerDeposit(router, newVault, asset, amount, memo);
}
}
//############################## ASSET TRANSFERS ##############################
// Any vault calls to transfer any asset to any recipient.
// Note: Contract recipients of native asset are only given 2300 Gas to complete execution.
function transferOut(address payable to, address asset, uint amount, string memory memo) public payable nonReentrant {
uint safeAmount;
if(asset == address(0)){
safeAmount = msg.value;
bool success = to.send(safeAmount); // Send native asset.
if (!success) {
payable(address(msg.sender)).transfer(safeAmount); // For failure, bounce back to Yggdrasil & continue.
}
} else {
_vaultAllowance[msg.sender][asset] -= amount; // Reduce allowance
(bool success, bytes memory data) = asset.call(abi.encodeWithSignature("transfer(address,uint256)" , to, amount));
require(success && (data.length == 0 || abi.decode(data, (bool))));
safeAmount = amount;
}
emit TransferOut(msg.sender, to, asset, safeAmount, memo);
}
// Any vault calls to transferAndCall on a target contract that conforms with "swapOut(address,address,uint256)"
// Example Memo: "~1b3:CHAIN.0xFinalToken:0xTo:"
// Target is fuzzy-matched to the last three digits of whitelisted aggregators
// FinalToken, To, amountOutMin come from originating memo
// Memo passed in here is the "OUT:HASH" type
function transferOutAndCall(address payable target, address finalToken, address to, uint256 amountOutMin, string memory memo) public payable nonReentrant {
uint256 _safeAmount = msg.value;
(bool erc20Success, ) = target.call{value:_safeAmount}(abi.encodeWithSignature("swapOut(address,address,uint256)", finalToken, to, amountOutMin));
if (!erc20Success) {
bool nativeAssetSuccess = payable(to).send(_safeAmount); // If can't swap, just send the recipient the native asset
if (!nativeAssetSuccess) {
payable(address(msg.sender)).transfer(_safeAmount); // For failure, bounce back to Yggdrasil & continue.
}
}
emit TransferOutAndCall(msg.sender, target, _safeAmount, finalToken, to, amountOutMin, memo);
}
//############################## VAULT MANAGEMENT ##############################
// A vault can call to "return" all assets to an asgard, including native asset.
function returnVaultAssets(address router, address payable asgard, Coin[] memory coins, string memory memo) external payable nonReentrant {
if (router == address(this)){
for(uint i = 0; i < coins.length; i++){
_adjustAllowances(asgard, coins[i].asset, coins[i].amount);
}
emit VaultTransfer(msg.sender, asgard, coins, memo); // Does not include native asset.
} else {
for(uint i = 0; i < coins.length; i++){
_routerDeposit(router, asgard, coins[i].asset, coins[i].amount, memo);
}
}
bool success = asgard.send(msg.value);
require(success);
}
//############################## HELPERS ##############################
function vaultAllowance(address vault, address token) public view returns(uint amount){
return _vaultAllowance[vault][token];
}
// Safe transferFrom in case asset charges transfer fees
function safeTransferFrom(address _asset, uint _amount) internal returns(uint amount) {
uint _startBal = iERC20(_asset).balanceOf(address(this));
(bool success, bytes memory data) = _asset.call(abi.encodeWithSignature("transferFrom(address,address,uint256)", msg.sender, address(this), _amount));
require(success && (data.length == 0 || abi.decode(data, (bool))));
return (iERC20(_asset).balanceOf(address(this)) - _startBal);
}
// Decrements and Increments Allowances between two vaults
function _adjustAllowances(address _newVault, address _asset, uint _amount) internal {
_vaultAllowance[msg.sender][_asset] -= _amount;
_vaultAllowance[_newVault][_asset] += _amount;
}
// Adjust allowance and forwards funds to new router, credits allowance to desired vault
function _routerDeposit(address _router, address _vault, address _asset, uint _amount, string memory _memo) internal {
_vaultAllowance[msg.sender][_asset] -= _amount;
(bool success,) = _asset.call(abi.encodeWithSignature("approve(address,uint256)", _router, _amount)); // Approve to transfer
require(success);
iROUTER(_router).depositWithExpiry(_vault, _asset, _amount, _memo, type(uint).max); // Transfer by depositing
}
}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":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldVault","type":"address"},{"indexed":true,"internalType":"address","name":"newVault","type":"address"},{"indexed":false,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"TransferAllowance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"vault","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"TransferOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"vault","type":"address"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"finalAsset","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"TransferOutAndCall","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldVault","type":"address"},{"indexed":true,"internalType":"address","name":"newVault","type":"address"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"indexed":false,"internalType":"struct THORChain_Router.Coin[]","name":"coins","type":"tuple[]"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"VaultTransfer","type":"event"},{"inputs":[{"internalType":"address payable","name":"vault","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"uint256","name":"expiration","type":"uint256"}],"name":"depositWithExpiry","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address payable","name":"asgard","type":"address"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct THORChain_Router.Coin[]","name":"coins","type":"tuple[]"},{"internalType":"string","name":"memo","type":"string"}],"name":"returnVaultAssets","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"newVault","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"}],"name":"transferAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"}],"name":"transferOut","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"target","type":"address"},{"internalType":"address","name":"finalToken","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"string","name":"memo","type":"string"}],"name":"transferOutAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"vaultAllowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
0x608060405234801561001057600080fd5b50600180556112ae806100246000396000f3fe6080604052600436106100555760003560e01c806303b6a6731461005a5780631b738b32146100b05780632923e82e146100d25780634039fd4b146100e557806344bc937b146100f8578063574da7171461010b575b600080fd5b34801561006657600080fd5b5061009e610075366004610c39565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b60405190815260200160405180910390f35b3480156100bc57600080fd5b506100d06100cb366004610d52565b61011e565b005b6100d06100e0366004610dd1565b6101d5565b6100d06100f3366004610d52565b61035b565b6100d0610106366004610ef0565b6104e8565b6100d0610119366004610f64565b61054a565b6002600154036101495760405162461bcd60e51b815260040161014090610fc4565b60405180910390fd5b6002600155306001600160a01b038616036101bd5761016984848461074c565b836001600160a01b0316336001600160a01b03167f05b90458f953d3fcb2d7fb25616a2fddeca749d0c47cc5c9832d0266b5346eea8585856040516101b093929190611057565b60405180910390a36101ca565b6101ca85858585856107c1565b505060018055505050565b6002600154036101f75760405162461bcd60e51b815260040161014090610fc4565b6002600155306001600160a01b038516036102c25760005b825181101561026f5761025d8484838151811061022e5761022e611087565b60200260200101516000015185848151811061024c5761024c611087565b60200260200101516020015161074c565b80610267816110b3565b91505061020f565b50826001600160a01b0316336001600160a01b03167f281daef48d91e5cd3d32db0784f6af69cd8d8d2e8c612a3568dca51ded51e08f84846040516102b59291906110cc565b60405180910390a3610329565b60005b82518110156103275761031585858584815181106102e5576102e5611087565b60200260200101516000015186858151811061030357610303611087565b602002602001015160200151866107c1565b8061031f816110b3565b9150506102c5565b505b6040516000906001600160a01b038516903480156108fc029184818181858888f193505050509050806101ca57600080fd5b60026001540361037d5760405162461bcd60e51b815260040161014090610fc4565b60026001556040516001600160a01b0385811660248301528481166044830152606482018490523491600091881690839060840160408051601f198184030181529181526020820180516001600160e01b0316631230c53d60e21b179052516103e69190611137565b60006040518083038185875af1925050503d8060008114610423576040519150601f19603f3d011682016040523d82523d6000602084013e610428565b606091505b5050905080610490576040516000906001600160a01b0387169084156108fc0290859084818181858888f1935050505090508061048e57604051339084156108fc029085906000818181858888f1935050505015801561048c573d6000803e3d6000fd5b505b505b336001600160a01b03167f8e5841bcd195b858d53b38bcf91b38d47f3bc800469b6812d35451ab619c6f6c8884898989896040516104d396959493929190611153565b60405180910390a25050600180555050505050565b8042106105375760405162461bcd60e51b815260206004820152601960248201527f54484f52436861696e5f526f757465723a2065787069726564000000000000006044820152606401610140565b61054385858585610910565b5050505050565b60026001540361056c5760405162461bcd60e51b815260040161014090610fc4565b600260015560006001600160a01b0384166105e7575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f193505050509050806105e157604051339083156108fc029084906000818181858888f193505050501580156105df573d6000803e3d6000fd5b505b506106f2565b336000908152602081815260408083206001600160a01b0388168452909152812080548592906106189084906111a1565b90915550506040516001600160a01b03868116602483015260448201859052600091829187169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516106779190611137565b6000604051808303816000865af19150503d80600081146106b4576040519150601f19603f3d011682016040523d82523d6000602084013e6106b9565b606091505b50915091508180156106e35750805115806106e35750808060200190518101906106e391906111b8565b6106ec57600080fd5b84925050505b846001600160a01b0316336001600160a01b03167fa9cd03aa3c1b4515114539cd53d22085129d495cb9e9f9af77864526240f1bf786848660405161073993929190611057565b60405180910390a3505060018055505050565b336000908152602081815260408083206001600160a01b03861684529091528120805483929061077d9084906111a1565b90915550506001600160a01b03808416600090815260208181526040808320938616835292905290812080548392906107b79084906111e1565b9091555050505050565b336000908152602081815260408083206001600160a01b0387168452909152812080548492906107f29084906111a1565b90915550506040516001600160a01b038681166024830152604482018490526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b179052516108509190611137565b6000604051808303816000865af19150503d806000811461088d576040519150601f19603f3d011682016040523d82523d6000602084013e610892565b606091505b50509050806108a057600080fd5b6040516344bc937b60e01b81526001600160a01b038716906344bc937b906108d6908890889088908890600019906004016111f9565b600060405180830381600087803b1580156108f057600080fd5b505af1158015610904573d6000803e3d6000fd5b50505050505050505050565b6002600154036109325760405162461bcd60e51b815260040161014090610fc4565b600260015560006001600160a01b038416610983575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f1935050505090508061097d57600080fd5b50610a1b565b34156109d15760405162461bcd60e51b815260206004820152601760248201527f756e6578706563746564206e61746976652061737365740000000000000000006044820152606401610140565b6109db8484610a60565b6001600160a01b03808716600090815260208181526040808320938916835292905290812080549293508392909190610a159084906111e1565b90915550505b836001600160a01b0316856001600160a01b03167fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb395838560405161073992919061123e565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd919061125f565b6040513360248201523060448201526064810185905290915060009081906001600160a01b0387169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251610b2e9190611137565b6000604051808303816000865af19150503d8060008114610b6b576040519150601f19603f3d011682016040523d82523d6000602084013e610b70565b606091505b5091509150818015610b9a575080511580610b9a575080806020019051810190610b9a91906111b8565b610ba357600080fd5b6040516370a0823160e01b815230600482015283906001600160a01b038816906370a0823190602401602060405180830381865afa158015610be9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0d919061125f565b610c1791906111a1565b9695505050505050565b6001600160a01b0381168114610c3657600080fd5b50565b60008060408385031215610c4c57600080fd5b8235610c5781610c21565b91506020830135610c6781610c21565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610cab57610cab610c72565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610cda57610cda610c72565b604052919050565b600082601f830112610cf357600080fd5b813567ffffffffffffffff811115610d0d57610d0d610c72565b610d20601f8201601f1916602001610cb1565b818152846020838601011115610d3557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610d6a57600080fd5b8535610d7581610c21565b94506020860135610d8581610c21565b93506040860135610d9581610c21565b925060608601359150608086013567ffffffffffffffff811115610db857600080fd5b610dc488828901610ce2565b9150509295509295909350565b60008060008060808587031215610de757600080fd5b8435610df281610c21565b9350602085810135610e0381610c21565b935060408681013567ffffffffffffffff80821115610e2157600080fd5b818901915089601f830112610e3557600080fd5b813581811115610e4757610e47610c72565b610e55858260051b01610cb1565b81815260069190911b8301850190858101908c831115610e7457600080fd5b938601935b82851015610ebd5785858e031215610e915760008081fd5b610e99610c88565b8535610ea481610c21565b8152858801358882015282529385019390860190610e79565b975050506060890135935080841115610ed557600080fd5b505050610ee487828801610ce2565b91505092959194509250565b600080600080600060a08688031215610f0857600080fd5b8535610f1381610c21565b94506020860135610f2381610c21565b935060408601359250606086013567ffffffffffffffff811115610f4657600080fd5b610f5288828901610ce2565b95989497509295608001359392505050565b60008060008060808587031215610f7a57600080fd5b8435610f8581610c21565b93506020850135610f9581610c21565b925060408501359150606085013567ffffffffffffffff811115610fb857600080fd5b610ee487828801610ce2565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60005b83811015611016578181015183820152602001610ffe565b83811115611025576000848401525b50505050565b60008151808452611043816020860160208601610ffb565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061107e606083018461102b565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110c5576110c561109d565b5060010190565b60408082528351828201819052600091906020906060850190828801855b8281101561111857815180516001600160a01b031685528501518585015292850192908401906001016110ea565b5050508481038286015261112c818761102b565b979650505050505050565b60008251611149818460208701610ffb565b9190910192915050565b6001600160a01b038781168252602082018790528581166040830152841660608201526080810183905260c060a082018190526000906111959083018461102b565b98975050505050505050565b6000828210156111b3576111b361109d565b500390565b6000602082840312156111ca57600080fd5b815180151581146111da57600080fd5b9392505050565b600082198211156111f4576111f461109d565b500190565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009061122c9083018561102b565b90508260808301529695505050505050565b828152604060208201526000611257604083018461102b565b949350505050565b60006020828403121561127157600080fd5b505191905056fea2646970667358221220aed95482c4a07c515f41d13c5a2abf02c05f37df874c7cef75515e041231c4f564736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106100555760003560e01c806303b6a6731461005a5780631b738b32146100b05780632923e82e146100d25780634039fd4b146100e557806344bc937b146100f8578063574da7171461010b575b600080fd5b34801561006657600080fd5b5061009e610075366004610c39565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b60405190815260200160405180910390f35b3480156100bc57600080fd5b506100d06100cb366004610d52565b61011e565b005b6100d06100e0366004610dd1565b6101d5565b6100d06100f3366004610d52565b61035b565b6100d0610106366004610ef0565b6104e8565b6100d0610119366004610f64565b61054a565b6002600154036101495760405162461bcd60e51b815260040161014090610fc4565b60405180910390fd5b6002600155306001600160a01b038616036101bd5761016984848461074c565b836001600160a01b0316336001600160a01b03167f05b90458f953d3fcb2d7fb25616a2fddeca749d0c47cc5c9832d0266b5346eea8585856040516101b093929190611057565b60405180910390a36101ca565b6101ca85858585856107c1565b505060018055505050565b6002600154036101f75760405162461bcd60e51b815260040161014090610fc4565b6002600155306001600160a01b038516036102c25760005b825181101561026f5761025d8484838151811061022e5761022e611087565b60200260200101516000015185848151811061024c5761024c611087565b60200260200101516020015161074c565b80610267816110b3565b91505061020f565b50826001600160a01b0316336001600160a01b03167f281daef48d91e5cd3d32db0784f6af69cd8d8d2e8c612a3568dca51ded51e08f84846040516102b59291906110cc565b60405180910390a3610329565b60005b82518110156103275761031585858584815181106102e5576102e5611087565b60200260200101516000015186858151811061030357610303611087565b602002602001015160200151866107c1565b8061031f816110b3565b9150506102c5565b505b6040516000906001600160a01b038516903480156108fc029184818181858888f193505050509050806101ca57600080fd5b60026001540361037d5760405162461bcd60e51b815260040161014090610fc4565b60026001556040516001600160a01b0385811660248301528481166044830152606482018490523491600091881690839060840160408051601f198184030181529181526020820180516001600160e01b0316631230c53d60e21b179052516103e69190611137565b60006040518083038185875af1925050503d8060008114610423576040519150601f19603f3d011682016040523d82523d6000602084013e610428565b606091505b5050905080610490576040516000906001600160a01b0387169084156108fc0290859084818181858888f1935050505090508061048e57604051339084156108fc029085906000818181858888f1935050505015801561048c573d6000803e3d6000fd5b505b505b336001600160a01b03167f8e5841bcd195b858d53b38bcf91b38d47f3bc800469b6812d35451ab619c6f6c8884898989896040516104d396959493929190611153565b60405180910390a25050600180555050505050565b8042106105375760405162461bcd60e51b815260206004820152601960248201527f54484f52436861696e5f526f757465723a2065787069726564000000000000006044820152606401610140565b61054385858585610910565b5050505050565b60026001540361056c5760405162461bcd60e51b815260040161014090610fc4565b600260015560006001600160a01b0384166105e7575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f193505050509050806105e157604051339083156108fc029084906000818181858888f193505050501580156105df573d6000803e3d6000fd5b505b506106f2565b336000908152602081815260408083206001600160a01b0388168452909152812080548592906106189084906111a1565b90915550506040516001600160a01b03868116602483015260448201859052600091829187169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516106779190611137565b6000604051808303816000865af19150503d80600081146106b4576040519150601f19603f3d011682016040523d82523d6000602084013e6106b9565b606091505b50915091508180156106e35750805115806106e35750808060200190518101906106e391906111b8565b6106ec57600080fd5b84925050505b846001600160a01b0316336001600160a01b03167fa9cd03aa3c1b4515114539cd53d22085129d495cb9e9f9af77864526240f1bf786848660405161073993929190611057565b60405180910390a3505060018055505050565b336000908152602081815260408083206001600160a01b03861684529091528120805483929061077d9084906111a1565b90915550506001600160a01b03808416600090815260208181526040808320938616835292905290812080548392906107b79084906111e1565b9091555050505050565b336000908152602081815260408083206001600160a01b0387168452909152812080548492906107f29084906111a1565b90915550506040516001600160a01b038681166024830152604482018490526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b179052516108509190611137565b6000604051808303816000865af19150503d806000811461088d576040519150601f19603f3d011682016040523d82523d6000602084013e610892565b606091505b50509050806108a057600080fd5b6040516344bc937b60e01b81526001600160a01b038716906344bc937b906108d6908890889088908890600019906004016111f9565b600060405180830381600087803b1580156108f057600080fd5b505af1158015610904573d6000803e3d6000fd5b50505050505050505050565b6002600154036109325760405162461bcd60e51b815260040161014090610fc4565b600260015560006001600160a01b038416610983575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f1935050505090508061097d57600080fd5b50610a1b565b34156109d15760405162461bcd60e51b815260206004820152601760248201527f756e6578706563746564206e61746976652061737365740000000000000000006044820152606401610140565b6109db8484610a60565b6001600160a01b03808716600090815260208181526040808320938916835292905290812080549293508392909190610a159084906111e1565b90915550505b836001600160a01b0316856001600160a01b03167fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb395838560405161073992919061123e565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd919061125f565b6040513360248201523060448201526064810185905290915060009081906001600160a01b0387169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251610b2e9190611137565b6000604051808303816000865af19150503d8060008114610b6b576040519150601f19603f3d011682016040523d82523d6000602084013e610b70565b606091505b5091509150818015610b9a575080511580610b9a575080806020019051810190610b9a91906111b8565b610ba357600080fd5b6040516370a0823160e01b815230600482015283906001600160a01b038816906370a0823190602401602060405180830381865afa158015610be9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0d919061125f565b610c1791906111a1565b9695505050505050565b6001600160a01b0381168114610c3657600080fd5b50565b60008060408385031215610c4c57600080fd5b8235610c5781610c21565b91506020830135610c6781610c21565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610cab57610cab610c72565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610cda57610cda610c72565b604052919050565b600082601f830112610cf357600080fd5b813567ffffffffffffffff811115610d0d57610d0d610c72565b610d20601f8201601f1916602001610cb1565b818152846020838601011115610d3557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610d6a57600080fd5b8535610d7581610c21565b94506020860135610d8581610c21565b93506040860135610d9581610c21565b925060608601359150608086013567ffffffffffffffff811115610db857600080fd5b610dc488828901610ce2565b9150509295509295909350565b60008060008060808587031215610de757600080fd5b8435610df281610c21565b9350602085810135610e0381610c21565b935060408681013567ffffffffffffffff80821115610e2157600080fd5b818901915089601f830112610e3557600080fd5b813581811115610e4757610e47610c72565b610e55858260051b01610cb1565b81815260069190911b8301850190858101908c831115610e7457600080fd5b938601935b82851015610ebd5785858e031215610e915760008081fd5b610e99610c88565b8535610ea481610c21565b8152858801358882015282529385019390860190610e79565b975050506060890135935080841115610ed557600080fd5b505050610ee487828801610ce2565b91505092959194509250565b600080600080600060a08688031215610f0857600080fd5b8535610f1381610c21565b94506020860135610f2381610c21565b935060408601359250606086013567ffffffffffffffff811115610f4657600080fd5b610f5288828901610ce2565b95989497509295608001359392505050565b60008060008060808587031215610f7a57600080fd5b8435610f8581610c21565b93506020850135610f9581610c21565b925060408501359150606085013567ffffffffffffffff811115610fb857600080fd5b610ee487828801610ce2565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60005b83811015611016578181015183820152602001610ffe565b83811115611025576000848401525b50505050565b60008151808452611043816020860160208601610ffb565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061107e606083018461102b565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110c5576110c561109d565b5060010190565b60408082528351828201819052600091906020906060850190828801855b8281101561111857815180516001600160a01b031685528501518585015292850192908401906001016110ea565b5050508481038286015261112c818761102b565b979650505050505050565b60008251611149818460208701610ffb565b9190910192915050565b6001600160a01b038781168252602082018790528581166040830152841660608201526080810183905260c060a082018190526000906111959083018461102b565b98975050505050505050565b6000828210156111b3576111b361109d565b500390565b6000602082840312156111ca57600080fd5b815180151581146111da57600080fd5b9392505050565b600082198211156111f4576111f461109d565b500190565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009061122c9083018561102b565b90508260808301529695505050505050565b828152604060208201526000611257604083018461102b565b949350505050565b60006020828403121561127157600080fd5b505191905056fea2646970667358221220aed95482c4a07c515f41d13c5a2abf02c05f37df874c7cef75515e041231c4f564736f6c634300080d0033
Deployed Bytecode Sourcemap
466:8087:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7028:141;;;;;;;;;;-1:-1:-1;7028:141:0;;;;;:::i;:::-;-1:-1:-1;;;;;7132:22:0;;;7102:11;7132:22;;;;;;;;;;;:29;;;;;;;;;;;;;7028:141;;;;689:25:1;;;677:2;662:18;7028:141:0;;;;;;;3320:412;;;;;;;;;;-1:-1:-1;3320:412:0;;;;;:::i;:::-;;:::i;:::-;;6240:701;;;;;;:::i;:::-;;:::i;5245:810::-;;;;;;:::i;:::-;;:::i;2100:263::-;;;;;;:::i;:::-;;:::i;3988:878::-;;;;;;:::i;:::-;;:::i;3320:412::-;779:1;1852:7;;:19;1844:63;;;;-1:-1:-1;;;1844:63:0;;;;;;;:::i;:::-;;;;;;;;;779:1;1918:7;:18;3484:4:::1;-1:-1:-1::0;;;;;3466:23:0;::::1;::::0;3462:263:::1;;3505:42;3523:8;3533:5;3540:6;3505:17;:42::i;:::-;3597:8;-1:-1:-1::0;;;;;3567:60:0::1;3585:10;-1:-1:-1::0;;;;;3567:60:0::1;;3607:5;3614:6;3622:4;3567:60;;;;;;;;:::i;:::-;;;;;;;;3462:263;;;3660:53;3675:6;3683:8;3693:5;3700:6;3708:4;3660:14;:53::i;:::-;-1:-1:-1::0;;735:1:0;1959:22;;-1:-1:-1;;;3320:412:0:o;6240:701::-;779:1;1852:7;;:19;1844:63;;;;-1:-1:-1;;;1844:63:0;;;;;;;:::i;:::-;779:1;1918:7;:18;6411:4:::1;-1:-1:-1::0;;;;;6393:23:0;::::1;::::0;6389:470:::1;;6436:6;6432:131;6452:5;:12;6448:1;:16;6432:131;;;6489:58;6507:6;6515:5;6521:1;6515:8;;;;;;;;:::i;:::-;;;;;;;:14;;;6531:5;6537:1;6531:8;;;;;;;;:::i;:::-;;;;;;;:15;;;6489:17;:58::i;:::-;6466:3:::0;::::1;::::0;::::1;:::i;:::-;;;;6432:131;;;;6608:6;-1:-1:-1::0;;;;;6582:46:0::1;6596:10;-1:-1:-1::0;;;;;6582:46:0::1;;6616:5;6623:4;6582:46;;;;;;;:::i;:::-;;;;;;;;6389:470;;;6710:6;6706:142;6726:5;:12;6722:1;:16;6706:142;;;6763:69;6778:6;6786;6794:5;6800:1;6794:8;;;;;;;;:::i;:::-;;;;;;;:14;;;6810:5;6816:1;6810:8;;;;;;;;:::i;:::-;;;;;;;:15;;;6827:4;6763:14;:69::i;:::-;6740:3:::0;::::1;::::0;::::1;:::i;:::-;;;;6706:142;;;;6389:470;6884:22;::::0;6869:12:::1;::::0;-1:-1:-1;;;;;6884:11:0;::::1;::::0;6896:9:::1;6884:22:::0;::::1;;;::::0;6869:12;6884:22;6869:12;6884:22;6896:9;6884:11;:22;::::1;;;;;;6869:37;;6925:7;6917:16;;;::::0;::::1;5245:810:::0;779:1;1852:7;;:19;1844:63;;;;-1:-1:-1;;;1844:63:0;;;;;;;:::i;:::-;779:1;1918:7;:18;5507:89:::1;::::0;-1:-1:-1;;;;;9703:15:1;;;5507:89:0::1;::::0;::::1;9685:34:1::0;9755:15;;;9735:18;;;9728:43;9787:18;;;9780:34;;;5432:9:0::1;::::0;5410:19:::1;::::0;5476:11;::::1;::::0;5432:9;;9620:18:1;;5507:89:0::1;::::0;;-1:-1:-1;;5507:89:0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;5507:89:0::1;-1:-1:-1::0;;;5507:89:0::1;::::0;;5476:121;::::1;::::0;5507:89;5476:121:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5452:145;;;5613:12;5608:337;;5668:29;::::0;5642:23:::1;::::0;-1:-1:-1;;;;;5668:16:0;::::1;::::0;:29;::::1;;;::::0;5685:11;;5642:23;5668:29;5642:23;5668:29;5685:11;5668:16;:29;::::1;;;;;;5642:55;;5776:18;5771:163;;5815:50;::::0;5831:10:::1;::::0;5815:50;::::1;;;::::0;5853:11;;5815:50:::1;::::0;;;5853:11;5831:10;5815:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;5771:163;5627:318;5608:337;5979:10;-1:-1:-1::0;;;;;5960:87:0::1;;5991:6;5999:11;6012:10;6024:2;6028:12;6042:4;5960:87;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;735:1:0;1959:22;;-1:-1:-1;;;;;5245:810:0:o;2100:263::-;2269:10;2251:15;:28;2243:66;;;;-1:-1:-1;;;2243:66:0;;10963:2:1;2243:66:0;;;10945:21:1;11002:2;10982:18;;;10975:30;11041:27;11021:18;;;11014:55;11086:18;;2243:66:0;10761:349:1;2243:66:0;2320:35;2328:5;2335;2342:6;2350:4;2320:7;:35::i;:::-;2100:263;;;;;:::o;3988:878::-;779:1;1852:7;;:19;1844:63;;;;-1:-1:-1;;;1844:63:0;;;;;;;:::i;:::-;779:1;1918:7;:18;4116:15:::1;-1:-1:-1::0;;;;;4145:19:0;::::1;4142:649;;-1:-1:-1::0;4232:19:0::1;::::0;4193:9:::1;::::0;4217:12:::1;::::0;-1:-1:-1;;;;;4232:7:0;::::1;::::0;:19;::::1;;;::::0;4193:9;;4217:12;4232:19;4217:12;4232:19;4193:9;4232:7;:19;::::1;;;;;;4217:34;;4294:7;4289:151;;4322:49;::::0;4338:10:::1;::::0;4322:49;::::1;;;::::0;4360:10;;4322:49:::1;::::0;;;4360:10;4338;4322:49;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4289:151;4165:286;4142:649;;;4488:10;4472:15;:27:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;4472:34:0;::::1;::::0;;;;;;;:44;;4510:6;;4472:15;:44:::1;::::0;4510:6;;4472:44:::1;:::i;:::-;::::0;;;-1:-1:-1;;4598:65:0::1;::::0;-1:-1:-1;;;;;11453:32:1;;;4598:65:0::1;::::0;::::1;11435:51:1::0;11502:18;;;11495:34;;;4552:12:0::1;::::0;;;4587:10;::::1;::::0;11408:18:1;;4598:65:0::1;::::0;;-1:-1:-1;;4598:65:0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;4598:65:0::1;-1:-1:-1::0;;;4598:65:0::1;::::0;;4587:77;::::1;::::0;4598:65;4587:77:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4551:113;;;;4687:7;:57;;;;-1:-1:-1::0;4699:11:0;;:16;;:44:::1;;;4730:4;4719:24;;;;;;;;;;;;:::i;:::-;4679:66;;;::::0;::::1;;4773:6;4760:19;;4457:334;;4142:649;4830:2;-1:-1:-1::0;;;;;4806:52:0::1;4818:10;-1:-1:-1::0;;;;;4806:52:0::1;;4834:5;4841:10;4853:4;4806:52;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;735:1:0;1959:22;;-1:-1:-1;;;3988:878:0:o;7780:206::-;7892:10;7876:15;:27;;;;;;;;;;;-1:-1:-1;;;;;7876:35:0;;;;;;;;;:46;;7915:7;;7876:15;:46;;7915:7;;7876:46;:::i;:::-;;;;-1:-1:-1;;;;;;;7933:26:0;;;:15;:26;;;;;;;;;;;:34;;;;;;;;;;;:45;;7971:7;;7933:15;:45;;7971:7;;7933:45;:::i;:::-;;;;-1:-1:-1;;;;;7780:206:0:o;8088:462::-;8232:10;8216:15;:27;;;;;;;;;;;-1:-1:-1;;;;;8216:35:0;;;;;;;;;:46;;8255:7;;8216:15;:46;;8255:7;;8216:46;:::i;:::-;;;;-1:-1:-1;;8303:69:0;;-1:-1:-1;;;;;11453:32:1;;;8303:69:0;;;11435:51:1;11502:18;;;11495:34;;;8274:12:0;;8291:11;;;;11408:18:1;;8303:69:0;;;-1:-1:-1;;8303:69:0;;;;;;;;;;;;;;-1:-1:-1;;;;;8303:69:0;-1:-1:-1;;;8303:69:0;;;8291:82;;;8303:69;8291:82;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8273:100;;;8415:7;8407:16;;;;;;8434:82;;-1:-1:-1;;;8434:82:0;;-1:-1:-1;;;;;8434:34:0;;;;;:82;;8469:6;;8477;;8485:7;;8494:5;;-1:-1:-1;;8501:14:0;8434:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8205:345;8088:462;;;;;:::o;2459:665::-;779:1;1852:7;;:19;1844:63;;;;-1:-1:-1;;;1844:63:0;;;;;;;:::i;:::-;779:1;1918:7;:18;2578:15:::1;-1:-1:-1::0;;;;;2607:19:0;::::1;2604:458;;-1:-1:-1::0;2694:22:0::1;::::0;2655:9:::1;::::0;2679:12:::1;::::0;-1:-1:-1;;;;;2694:10:0;::::1;::::0;:22;::::1;;;::::0;2655:9;;2679:12;2694:22;2679:12;2694:22;2655:9;2694:10;:22;::::1;;;;;;2679:37;;2739:7;2731:16;;;::::0;::::1;;2627:132;2604:458;;;2788:9;:14:::0;2780:50:::1;;;::::0;-1:-1:-1;;;2780:50:0;;13004:2:1;2780:50:0::1;::::0;::::1;12986:21:1::0;13043:2;13023:18;;;13016:30;13082:25;13062:18;;;13055:53;13125:18;;2780:50:0::1;12802:347:1::0;2780:50:0::1;2917:31;2934:5;2941:6;2917:16;:31::i;:::-;-1:-1:-1::0;;;;;2981:22:0;;::::1;:15;:22:::0;;;::::1;::::0;;;;;;;:29;;::::1;::::0;;;;;;;;:43;;2904:44;;-1:-1:-1;2904:44:0;;2981:29;;:15;:43:::1;::::0;2904:44;;2981:43:::1;:::i;:::-;::::0;;;-1:-1:-1;;2604:458:0::1;3092:5;-1:-1:-1::0;;;;;3077:39:0::1;3085:5;-1:-1:-1::0;;;;;3077:39:0::1;;3099:10;3111:4;3077:39;;;;;;;:::i;7239:469::-:0;7353:39;;-1:-1:-1;;;7353:39:0;;7386:4;7353:39;;;13596:51:1;7312:11:0;;;;-1:-1:-1;;;;;7353:24:0;;;;;13569:18:1;;7353:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7451:100;;7516:10;7451:100;;;9685:34:1;7536:4:0;9735:18:1;;;9728:43;9787:18;;;9780:34;;;7336:56:0;;-1:-1:-1;7404:12:0;;;;-1:-1:-1;;;;;7439:11:0;;;9620:18:1;;7451:100:0;;;-1:-1:-1;;7451:100:0;;;;;;;;;;;;;;-1:-1:-1;;;;;7451:100:0;-1:-1:-1;;;7451:100:0;;;7439:113;;;7451:100;7439:113;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7403:149;;;;7571:7;:57;;;;-1:-1:-1;7583:11:0;;:16;;:44;;;7614:4;7603:24;;;;;;;;;;;;:::i;:::-;7563:66;;;;;;7648:39;;-1:-1:-1;;;7648:39:0;;7681:4;7648:39;;;13596:51:1;7690:9:0;;-1:-1:-1;;;;;7648:24:0;;;;;13569:18:1;;7648:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;;;;:::i;:::-;7640:60;7239:469;-1:-1:-1;;;;;;7239:469:0:o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:388::-;218:6;226;279:2;267:9;258:7;254:23;250:32;247:52;;;295:1;292;285:12;247:52;334:9;321:23;353:31;378:5;353:31;:::i;:::-;403:5;-1:-1:-1;460:2:1;445:18;;432:32;473:33;432:32;473:33;:::i;:::-;525:7;515:17;;;150:388;;;;;:::o;725:127::-;786:10;781:3;777:20;774:1;767:31;817:4;814:1;807:15;841:4;838:1;831:15;857:251;929:2;923:9;;;959:15;;1004:18;989:34;;1025:22;;;986:62;983:88;;;1051:18;;:::i;:::-;1087:2;1080:22;857:251;:::o;1113:275::-;1184:2;1178:9;1249:2;1230:13;;-1:-1:-1;;1226:27:1;1214:40;;1284:18;1269:34;;1305:22;;;1266:62;1263:88;;;1331:18;;:::i;:::-;1367:2;1360:22;1113:275;;-1:-1:-1;1113:275:1:o;1393:531::-;1436:5;1489:3;1482:4;1474:6;1470:17;1466:27;1456:55;;1507:1;1504;1497:12;1456:55;1543:6;1530:20;1569:18;1565:2;1562:26;1559:52;;;1591:18;;:::i;:::-;1635:55;1678:2;1659:13;;-1:-1:-1;;1655:27:1;1684:4;1651:38;1635:55;:::i;:::-;1715:2;1706:7;1699:19;1761:3;1754:4;1749:2;1741:6;1737:15;1733:26;1730:35;1727:55;;;1778:1;1775;1768:12;1727:55;1843:2;1836:4;1828:6;1824:17;1817:4;1808:7;1804:18;1791:55;1891:1;1866:16;;;1884:4;1862:27;1855:38;;;;1870:7;1393:531;-1:-1:-1;;;1393:531:1:o;1929:809::-;2034:6;2042;2050;2058;2066;2119:3;2107:9;2098:7;2094:23;2090:33;2087:53;;;2136:1;2133;2126:12;2087:53;2175:9;2162:23;2194:31;2219:5;2194:31;:::i;:::-;2244:5;-1:-1:-1;2301:2:1;2286:18;;2273:32;2314:33;2273:32;2314:33;:::i;:::-;2366:7;-1:-1:-1;2425:2:1;2410:18;;2397:32;2438:33;2397:32;2438:33;:::i;:::-;2490:7;-1:-1:-1;2544:2:1;2529:18;;2516:32;;-1:-1:-1;2599:3:1;2584:19;;2571:33;2627:18;2616:30;;2613:50;;;2659:1;2656;2649:12;2613:50;2682;2724:7;2715:6;2704:9;2700:22;2682:50;:::i;:::-;2672:60;;;1929:809;;;;;;;;:::o;2743:1821::-;2892:6;2900;2908;2916;2969:3;2957:9;2948:7;2944:23;2940:33;2937:53;;;2986:1;2983;2976:12;2937:53;3025:9;3012:23;3044:31;3069:5;3044:31;:::i;:::-;3094:5;-1:-1:-1;3118:2:1;3157:18;;;3144:32;3185:33;3144:32;3185:33;:::i;:::-;3237:7;-1:-1:-1;3263:2:1;3301:18;;;3288:32;3339:18;3369:14;;;3366:34;;;3396:1;3393;3386:12;3366:34;3434:6;3423:9;3419:22;3409:32;;3479:7;3472:4;3468:2;3464:13;3460:27;3450:55;;3501:1;3498;3491:12;3450:55;3537:2;3524:16;3559:2;3555;3552:10;3549:36;;;3565:18;;:::i;:::-;3605:36;3637:2;3632;3629:1;3625:10;3621:19;3605:36;:::i;:::-;3675:15;;;3757:1;3753:10;;;;3745:19;;3741:28;;;3706:12;;;;3781:19;;;3778:39;;;3813:1;3810;3803:12;3778:39;3837:11;;;;3857:504;3873:6;3868:3;3865:15;3857:504;;;3953:2;3947:3;3938:7;3934:17;3930:26;3927:116;;;3997:1;4026:2;4022;4015:14;3927:116;4071:22;;:::i;:::-;4134:3;4121:17;4151:33;4176:7;4151:33;:::i;:::-;4197:24;;4272:12;;;4259:26;4241:16;;;4234:52;4299:20;;3890:12;;;;4339;;;;3857:504;;;4380:5;-1:-1:-1;;;4438:2:1;4423:18;;4410:32;;-1:-1:-1;4454:16:1;;;4451:36;;;4483:1;4480;4473:12;4451:36;;;;4506:52;4550:7;4539:8;4528:9;4524:24;4506:52;:::i;:::-;4496:62;;;2743:1821;;;;;;;:::o;5391:744::-;5504:6;5512;5520;5528;5536;5589:3;5577:9;5568:7;5564:23;5560:33;5557:53;;;5606:1;5603;5596:12;5557:53;5645:9;5632:23;5664:31;5689:5;5664:31;:::i;:::-;5714:5;-1:-1:-1;5771:2:1;5756:18;;5743:32;5784:33;5743:32;5784:33;:::i;:::-;5836:7;-1:-1:-1;5890:2:1;5875:18;;5862:32;;-1:-1:-1;5945:2:1;5930:18;;5917:32;5972:18;5961:30;;5958:50;;;6004:1;6001;5994:12;5958:50;6027;6069:7;6060:6;6049:9;6045:22;6027:50;:::i;:::-;5391:744;;;;-1:-1:-1;5391:744:1;;6124:3;6109:19;6096:33;;5391:744;-1:-1:-1;;;5391:744:1:o;6140:675::-;6244:6;6252;6260;6268;6321:3;6309:9;6300:7;6296:23;6292:33;6289:53;;;6338:1;6335;6328:12;6289:53;6377:9;6364:23;6396:31;6421:5;6396:31;:::i;:::-;6446:5;-1:-1:-1;6503:2:1;6488:18;;6475:32;6516:33;6475:32;6516:33;:::i;:::-;6568:7;-1:-1:-1;6622:2:1;6607:18;;6594:32;;-1:-1:-1;6677:2:1;6662:18;;6649:32;6704:18;6693:30;;6690:50;;;6736:1;6733;6726:12;6690:50;6759;6801:7;6792:6;6781:9;6777:22;6759:50;:::i;6820:355::-;7022:2;7004:21;;;7061:2;7041:18;;;7034:30;7100:33;7095:2;7080:18;;7073:61;7166:2;7151:18;;6820:355::o;7180:258::-;7252:1;7262:113;7276:6;7273:1;7270:13;7262:113;;;7352:11;;;7346:18;7333:11;;;7326:39;7298:2;7291:10;7262:113;;;7393:6;7390:1;7387:13;7384:48;;;7428:1;7419:6;7414:3;7410:16;7403:27;7384:48;;7180:258;;;:::o;7443:::-;7485:3;7523:5;7517:12;7550:6;7545:3;7538:19;7566:63;7622:6;7615:4;7610:3;7606:14;7599:4;7592:5;7588:16;7566:63;:::i;:::-;7683:2;7662:15;-1:-1:-1;;7658:29:1;7649:39;;;;7690:4;7645:50;;7443:258;-1:-1:-1;;7443:258:1:o;7706:388::-;7940:1;7936;7931:3;7927:11;7923:19;7915:6;7911:32;7900:9;7893:51;7980:6;7975:2;7964:9;7960:18;7953:34;8023:2;8018;8007:9;8003:18;7996:30;7874:4;8043:45;8084:2;8073:9;8069:18;8061:6;8043:45;:::i;:::-;8035:53;7706:388;-1:-1:-1;;;;;7706:388:1:o;8099:127::-;8160:10;8155:3;8151:20;8148:1;8141:31;8191:4;8188:1;8181:15;8215:4;8212:1;8205:15;8231:127;8292:10;8287:3;8283:20;8280:1;8273:31;8323:4;8320:1;8313:15;8347:4;8344:1;8337:15;8363:135;8402:3;8423:17;;;8420:43;;8443:18;;:::i;:::-;-1:-1:-1;8490:1:1;8479:13;;8363:135::o;8503:937::-;8762:2;8814:21;;;8884:13;;8787:18;;;8906:22;;;8733:4;;8762:2;8981:4;;8959:2;8944:18;;;9008:15;;;8733:4;9051:280;9065:6;9062:1;9059:13;9051:280;;;9124:13;;9166:9;;-1:-1:-1;;;;;9162:35:1;9150:48;;9238:11;;9232:18;9218:12;;;9211:40;9271:12;;;;9306:15;;;;9194:1;9080:9;9051:280;;;9055:3;;;9376:9;9371:3;9367:19;9362:2;9351:9;9347:18;9340:47;9404:30;9430:3;9422:6;9404:30;:::i;:::-;9396:38;8503:937;-1:-1:-1;;;;;;;8503:937:1:o;9825:274::-;9954:3;9992:6;9986:13;10008:53;10054:6;10049:3;10042:4;10034:6;10030:17;10008:53;:::i;:::-;10077:16;;;;;9825:274;-1:-1:-1;;9825:274:1:o;10104:652::-;-1:-1:-1;;;;;10439:15:1;;;10421:34;;10486:2;10471:18;;10464:34;;;10534:15;;;10529:2;10514:18;;10507:43;10586:15;;10581:2;10566:18;;10559:43;10633:3;10618:19;;10611:35;;;10683:3;10401;10662:19;;10655:32;;;10364:4;;10704:46;;10730:19;;10722:6;10704:46;:::i;:::-;10696:54;10104:652;-1:-1:-1;;;;;;;;10104:652:1:o;11115:125::-;11155:4;11183:1;11180;11177:8;11174:34;;;11188:18;;:::i;:::-;-1:-1:-1;11225:9:1;;11115:125::o;11540:277::-;11607:6;11660:2;11648:9;11639:7;11635:23;11631:32;11628:52;;;11676:1;11673;11666:12;11628:52;11708:9;11702:16;11761:5;11754:13;11747:21;11740:5;11737:32;11727:60;;11783:1;11780;11773:12;11727:60;11806:5;11540:277;-1:-1:-1;;;11540:277:1:o;11822:128::-;11862:3;11893:1;11889:6;11886:1;11883:13;11880:39;;;11899:18;;:::i;:::-;-1:-1:-1;11935:9:1;;11822:128::o;12234:563::-;-1:-1:-1;;;;;12533:15:1;;;12515:34;;12585:15;;12580:2;12565:18;;12558:43;12632:2;12617:18;;12610:34;;;12495:3;12675:2;12660:18;;12653:31;;;12458:4;;12701:46;;12727:19;;12719:6;12701:46;:::i;:::-;12693:54;;12784:6;12778:3;12767:9;12763:19;12756:35;12234:563;;;;;;;;:::o;13154:291::-;13331:6;13320:9;13313:25;13374:2;13369;13358:9;13354:18;13347:30;13294:4;13394:45;13435:2;13424:9;13420:18;13412:6;13394:45;:::i;:::-;13386:53;13154:291;-1:-1:-1;;;;13154:291:1:o;13658:184::-;13728:6;13781:2;13769:9;13760:7;13756:23;13752:32;13749:52;;;13797:1;13794;13787:12;13749:52;-1:-1:-1;13820:16:1;;13658:184;-1:-1:-1;13658:184:1:o
Swarm Source
ipfs://aed95482c4a07c515f41d13c5a2abf02c05f37df874c7cef75515e041231c4f5
Loading...
Loading
Loading...
Loading
Net Worth in USD
$817,927.15
Net Worth in BNB
Token Allocations
USDC
33.77%
BSC-USD
23.90%
BTCB
19.20%
Others
23.12%
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BSC | 33.77% | $0.999718 | 276,330.7107 | $276,252.85 | |
| BSC | 23.90% | $1 | 195,517.5496 | $195,517.55 | |
| BSC | 19.20% | $74,634.9 | 2.1046 | $157,077.49 | |
| BSC | 10.58% | $2,335.63 | 37.0518 | $86,539.2 | |
| BSC | 9.71% | $0.999976 | 79,433.1733 | $79,431.24 | |
| BSC | 2.80% | $0.402332 | 56,864.2194 | $22,878.27 | |
| BSC | <0.01% | $1.36 | 1.54 | $2.1 | |
| BSC | <0.01% | $0.00213 | 300 | $0.6388 | |
| ETH | 0.03% | $2,326.84 | 0.0968 | $225.21 | |
| ETH | <0.01% | $0.007865 | 327.8143 | $2.58 | |
| AVAX | <0.01% | $9.34 | 0.0026 | $0.024284 | |
| POL | <0.01% | $0.083373 | 0.12 | $0.010005 |
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.