Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Distribute Commu... | 21379666 | 7 hrs ago | IN | 0 ETH | 0.00200615 | ||||
Distribute Treas... | 21379663 | 7 hrs ago | IN | 0 ETH | 0.0020898 | ||||
Distribute Commu... | 21378001 | 13 hrs ago | IN | 0 ETH | 0.00119144 | ||||
Distribute Treas... | 21377998 | 13 hrs ago | IN | 0 ETH | 0.00123782 | ||||
Distribute Commu... | 21372866 | 30 hrs ago | IN | 0 ETH | 0.00489624 | ||||
Distribute Treas... | 21372863 | 30 hrs ago | IN | 0 ETH | 0.00524844 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TSFeeDistributor_V2
Compiler Version
v0.8.22+commit.4fc1097e
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; // ------------------- // Compatibility // TC Router V4 // ------------------- import {Owners} from "../../lib/Owners.sol"; import {Executors} from "../../lib/Executors.sol"; import {SafeTransferLib} from "../../lib/SafeTransferLib.sol"; import {IERC20} from "../../interfaces/IERC20.sol"; import {IThorchainRouterV4} from "../../interfaces/IThorchainRouterV4.sol"; import {IOracleV1} from "../../interfaces/IOracleV1.sol"; contract TSFeeDistributor_V2 is Owners, Executors { using SafeTransferLib for address; IOracleV1 public oracle; IThorchainRouterV4 public tcRouter; IERC20 public feeAsset; uint256 public minFeeAmount; uint256 private _communityDistribution; uint32 public treasuryBps; uint32 public communityBps; uint32 public treasuryIndex; uint32 public communityIndex; bool public publicMode; bool public transferTreasury; address public treasuryWallet; mapping(uint32 => string) public memoTreasury; mapping(uint32 => string) public memoCommunity; event TreasuryDistribution(uint256 amount, string memo); event CommunityDistribution(uint256 amount, string memo); constructor( address _oracleAddress, address _tcRouterAddress, address _feeAsset, address _treasuryWallet ) { treasuryBps = 2500; communityBps = 7500; _communityDistribution = 0; oracle = IOracleV1(_oracleAddress); tcRouter = IThorchainRouterV4(_tcRouterAddress); feeAsset = IERC20(_feeAsset); minFeeAmount = 0; _feeAsset.safeApprove(_tcRouterAddress, 0); _feeAsset.safeApprove(_tcRouterAddress, type(uint256).max); publicMode = false; transferTreasury = true; treasuryWallet = _treasuryWallet; _setOwner(msg.sender, true); } function setMinFeeAmount(uint256 amount) external isOwner { minFeeAmount = amount; } function setTCRouter(address _tcRouterAddress) public isOwner { tcRouter = IThorchainRouterV4(_tcRouterAddress); feeAsset.approve(_tcRouterAddress, 0); feeAsset.approve(_tcRouterAddress, type(uint256).max); } function setShares(uint32 treasury, uint32 community) external isOwner { require(treasury + community == 10000, "Shares must add up to 10000"); treasuryBps = treasury; communityBps = community; } function getMemoTreasury(uint32 id) external view returns (string memory) { return memoTreasury[id]; } function setMemoTreasury(uint32 id, string memory memo) external isOwner { memoTreasury[id] = memo; } function setTreasuryIndex(uint32 index) external isOwner { treasuryIndex = index; } function setTreasuryTransfer(bool _transferTreasury) external isOwner { transferTreasury = _transferTreasury; } function getMemoCommunity(uint32 id) external view returns (string memory) { return memoCommunity[id]; } function setMemoCommunity(uint32 id, string memory memo) external isOwner { memoCommunity[id] = memo; } function setCommunityIndex(uint32 index) external isOwner { communityIndex = index; } function setTreasuryWallet(address _treasuryWallet) external isOwner { treasuryWallet = _treasuryWallet; } // Protected version in case the oracle is down function distributeTreasuryExecutor( address inboundAddress ) external isExecutor { require(!publicMode, "Must call distributeTreasury instead."); _distributeTreasury(inboundAddress); } function distributeTreasury() external { require(publicMode, "Must call distributeTreasuryExecutor instead."); (, address inboundAddress) = oracle.getInboundAddress("ETH"); _distributeTreasury(inboundAddress); } function _distributeTreasury(address inboundAddress) internal { require( _communityDistribution == 0, "It's the community's turn to receive distribution" ); uint256 balance = feeAsset.balanceOf(address(this)); require(balance >= minFeeAmount, "Balance is below minimum fee amount"); uint256 treasuryAmount = (balance * treasuryBps) / 10000; _communityDistribution = balance - treasuryAmount; if (transferTreasury) { feeAsset.transfer(treasuryWallet, treasuryAmount); } else { tcRouter.depositWithExpiry{value: 0}( payable(inboundAddress), address(feeAsset), treasuryAmount, memoTreasury[treasuryIndex], type(uint256).max ); } emit TreasuryDistribution(treasuryAmount, memoTreasury[treasuryIndex]); } function distributeCommunityExecutor( address inboundAddress ) external isExecutor { require(!publicMode, "Must call distributeCommunity instead."); _distributeCommunity(inboundAddress); } function distributeCommunity() external { require(publicMode, "Must call distributeCommunityExecutor instead."); (, address inboundAddress) = oracle.getInboundAddress("ETH"); _distributeCommunity(inboundAddress); } function _distributeCommunity(address inboundAddress) internal { require( _communityDistribution > 0, "It's the treasury's turn to receive distribution" ); require( _communityDistribution <= feeAsset.balanceOf(address(this)), "Community distribution exceeds balance" ); tcRouter.depositWithExpiry{value: 0}( payable(inboundAddress), address(feeAsset), _communityDistribution, memoCommunity[communityIndex], type(uint256).max ); emit CommunityDistribution( _communityDistribution, memoCommunity[communityIndex] ); _communityDistribution = 0; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; interface IERC20 { function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; interface IOracleV1 { function getRouterAddress() external view returns (address); function getPoolsAPY(string memory chain) external view returns (uint64); function getSaversAPY(string memory chain) external view returns (uint64); // Updated to match the new return type of getInboundAddress in the TSOracle_V1 contract function getInboundAddress( string memory chain ) external view returns (bytes memory, address); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; interface IThorchainRouterV4 { function depositWithExpiry( address payable vault, address asset, uint amount, string memory memo, uint expiration ) external payable; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import {Owners} from "./Owners.sol"; abstract contract Executors is Owners { event ExecutorSet(address indexed executor, bool active); mapping(address => bool) public executors; modifier isExecutor() { require(executors[msg.sender], "Unauthorized"); _; } function _setExecutor(address executor, bool active) internal virtual { executors[executor] = active; emit ExecutorSet(executor, active); } function setExecutor(address owner, bool active) external virtual isOwner { _setExecutor(owner, active); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; abstract contract Owners { event OwnerSet(address indexed owner, bool active); mapping(address => bool) public owners; modifier isOwner() { require(owners[msg.sender], "Unauthorized"); _; } function _setOwner(address owner, bool active) internal virtual { owners[owner] = active; emit OwnerSet(owner, active); } function setOwner(address owner, bool active) external virtual isOwner { _setOwner(owner, active); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/SafeTransferLib.sol) /// @author Modified from Gnosis (https://github.com/gnosis/gp-v2-contracts/blob/main/src/contracts/libraries/GPv2SafeERC20.sol) /// @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer. library SafeTransferLib { /*/////////////////////////////////////////////////////////////// ETH OPERATIONS //////////////////////////////////////////////////////////////*/ function safeTransferETH(address to, uint256 amount) internal { bool callStatus; assembly { // Transfer the ETH and store if it succeeded or not. callStatus := call(gas(), to, amount, 0, 0, 0, 0) } require(callStatus, "ETH_TRANSFER_FAILED"); } /*/////////////////////////////////////////////////////////////// ERC20 OPERATIONS //////////////////////////////////////////////////////////////*/ function safeTransferFrom( address token, address from, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore( freeMemoryPointer, 0x23b872dd00000000000000000000000000000000000000000000000000000000 ) // Begin with the function selector. mstore( add(freeMemoryPointer, 4), and(from, 0xffffffffffffffffffffffffffffffffffffffff) ) // Mask and append the "from" argument. mstore( add(freeMemoryPointer, 36), and(to, 0xffffffffffffffffffffffffffffffffffffffff) ) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 68), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 100 because the calldata length is 4 + 32 * 3. callStatus := call(gas(), token, 0, freeMemoryPointer, 100, 0, 0) } require( didLastOptionalReturnCallSucceed(callStatus), "TRANSFER_FROM_FAILED" ); } function safeTransfer(address token, address to, uint256 amount) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore( freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000 ) // Begin with the function selector. mstore( add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff) ) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 36), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 68 because the calldata length is 4 + 32 * 2. callStatus := call(gas(), token, 0, freeMemoryPointer, 68, 0, 0) } require( didLastOptionalReturnCallSucceed(callStatus), "TRANSFER_FAILED" ); } function safeApprove(address token, address to, uint256 amount) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore( freeMemoryPointer, 0x095ea7b300000000000000000000000000000000000000000000000000000000 ) // Begin with the function selector. mstore( add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff) ) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 36), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 68 because the calldata length is 4 + 32 * 2. callStatus := call(gas(), token, 0, freeMemoryPointer, 68, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "APPROVE_FAILED"); } /*/////////////////////////////////////////////////////////////// INTERNAL HELPER LOGIC //////////////////////////////////////////////////////////////*/ function didLastOptionalReturnCallSucceed( bool callStatus ) private pure returns (bool success) { assembly { // Get how many bytes the call returned. let returnDataSize := returndatasize() // If the call reverted: if iszero(callStatus) { // Copy the revert message into memory. returndatacopy(0, 0, returnDataSize) // Revert with the same message. revert(0, returnDataSize) } switch returnDataSize case 32 { // Copy the return data into memory. returndatacopy(0, 0, returnDataSize) // Set success to whether it returned true. success := iszero(iszero(mload(0))) } case 0 { // There was no return data. success := 1 } default { // It returned some malformed input. success := 0 } } } }
{ "viaIR": true, "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_oracleAddress","type":"address"},{"internalType":"address","name":"_tcRouterAddress","type":"address"},{"internalType":"address","name":"_feeAsset","type":"address"},{"internalType":"address","name":"_treasuryWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"CommunityDistribution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":false,"internalType":"bool","name":"active","type":"bool"}],"name":"ExecutorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"bool","name":"active","type":"bool"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"memo","type":"string"}],"name":"TreasuryDistribution","type":"event"},{"inputs":[],"name":"communityBps","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"communityIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeCommunity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"inboundAddress","type":"address"}],"name":"distributeCommunityExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"inboundAddress","type":"address"}],"name":"distributeTreasuryExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"executors","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAsset","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"getMemoCommunity","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"}],"name":"getMemoTreasury","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"memoCommunity","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"memoTreasury","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minFeeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"contract IOracleV1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"owners","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"index","type":"uint32"}],"name":"setCommunityIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"name":"setExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"string","name":"memo","type":"string"}],"name":"setMemoCommunity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"string","name":"memo","type":"string"}],"name":"setMemoTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinFeeAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"treasury","type":"uint32"},{"internalType":"uint32","name":"community","type":"uint32"}],"name":"setShares","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tcRouterAddress","type":"address"}],"name":"setTCRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"index","type":"uint32"}],"name":"setTreasuryIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_transferTreasury","type":"bool"}],"name":"setTreasuryTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasuryWallet","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tcRouter","outputs":[{"internalType":"contract IThorchainRouterV4","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferTreasury","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryBps","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
34620000815762001a34388190036080601f8201601f19168101906001600160401b03821190821017620000865760809282916040528339126200008157620000716200004b6200009c565b62000055620000b3565b6200005f620000ca565b906200006a620000e1565b92620000f8565b60405161173e9081620002f68239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b608051906001600160a01b03821682036200008157565b60a051906001600160a01b03821682036200008157565b60c051906001600160a01b03821682036200008157565b60e051906001600160a01b03821682036200008157565b60449093929193651d4c000009c460018060401b031960075416176007556000809281928260065560018060a01b03908160018060a01b0319911681600254161760025581891691828260035416176003558716906004541617600455826005556040519063095ea7b360e01b8252600482015282602482015282865af13d90156200023557806020146200022657156200021d575b15620001e757620001da92620001a4916200023c565b6007805461ffff60801b1916600160881b179055600880546001600160a01b0319166001600160a01b0392909216919091179055565b620001e533620002a7565b565b60405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b6044820152606490fd5b5060016200018e565b50602081803e5115156200018e565b908181803efd5b60405163095ea7b360e01b81526001600160a01b03909216600483015260001960248301526000918291829160449183905af13d90156200023557806020146200029857156200028f575b15620001e757565b50600162000287565b50602081803e51151562000287565b60018060a01b03168060005260006020526040600020600160ff198254161790557ff74826f11048fa8ecf33e91132bf280f6582ed97548a84e426b56e98526b9316602060405160018152a256fe608060408181526004918236101561001657600080fd5b600092833560e01c918263022914a714610e71575081630852817d14610e2057816308a199da14610d035781630d13b95314610be9578163162d493c14610ba35781631e1bff3f14610b205781631ff48c4914610af457816327a8d0d914610a595781632e394a94146109665781634109ce6c146108135781634626402b146107ea5781634dc10ea1146107c5578163516c731c1461073d57816353ba352c14610715578163644c5695146106ee5781636e91a94814610652578163730a1e38146105495781637dc0d1d01461052057816390170654146104f4578163932f3f66146104ce5781639ac2a011146104905781639e0320ca1461043b578163a8602fea146103e7578163ac21d47a146103be578163b37b50e3146102e1578163c37fb119146102b9578163d61175291461028457508063d6942c8b14610245578063dacd0737146101f1578063e6d7329d146101cb578063f5d36475146101ad5763fa5802941461018557600080fd5b346101a957816003193601126101a9576007549051602091821c63ffffffff168152f35b5080fd5b50346101a957816003193601126101a9576020906005549051908152f35b50346101a957816003193601126101a95760209060ff60075460801c1690519015158152f35b50346101a95760203660031901126101a95780610237610230926102419463ffffffff61021c610ec6565b168152600960205220825193848092611054565b0383610f03565b5191829182610fee565b0390f35b50346101a95760203660031901126101a95780610237610230926102419463ffffffff610270610ec6565b168152600a60205220825193848092611054565b919050346102b55760203660031901126102b55760ff6102ae9133855284602052842054166110ea565b3560055580f35b8280fd5b5050346101a957816003193601126101a95760209063ffffffff60075460601c169051908152f35b9050346102b557816003193601126102b5576102fb610ec6565b906024359263ffffffff808516938486036103ba5781903388528760205261032860ff858a2054166110ea565b169384018181116103a7571661270f190161036457505067ffffffff000000006007549260201b169167ffffffffffffffff1916171760075580f35b906020606492519162461bcd60e51b8352820152601b60248201527f536861726573206d7573742061646420757020746f20313030303000000000006044820152fd5b634e487b7160e01b875260118452602487fd5b8680fd5b5050346101a957816003193601126101a95760035490516001600160a01b039091168152602090f35b5050346101a95760203660031901126101a95761041860ff610407610eab565b9233855284602052842054166110ea565b60018060a01b03166bffffffffffffffffffffffff60a01b600854161760085580f35b9050346102b55760203660031901126102b55735908115158092036102b55760ff6104709133855284602052842054166110ea565b6007805460ff60881b191660889290921b60ff60881b1691909117905580f35b5050346101a95760203660031901126101a95760209160ff9082906001600160a01b036104bb610eab565b1681526001855220541690519015158152f35b5050346101a957816003193601126101a9576007548151911c63ffffffff168152602090f35b5050346101a95760203660031901126101a95780610237610230926102419463ffffffff61021c610ec6565b5050346101a957816003193601126101a95760025490516001600160a01b039091168152602090f35b9050346102b557826003193601126102b55760ff60075460801c16156105fa57826105aa9160018060a01b03600254168451808095819463a0e3440f60e01b8352820160609060208152600360208201526208aa8960eb1b60408201520190565b03915afa9081156105ee576105c7925083916105ca575b506111f7565b80f35b6105e691503d8085833e6105de8183610f03565b81019061113d565b9050386105c1565b505051903d90823e3d90fd5b6020608492519162461bcd60e51b8352820152602d60248201527f4d7573742063616c6c206469737472696275746554726561737572794578656360448201526c3aba37b91034b739ba32b0b21760991b6064820152fd5b9050346102b55760203660031901126102b55761066d610eab565b91338452600160205261068560ff82862054166110ea565b60ff60075460801c1661069c57836105c7846114df565b906020608492519162461bcd60e51b8352820152602660248201527f4d7573742063616c6c2064697374726962757465436f6d6d756e69747920696e60448201526539ba32b0b21760d11b6064820152fd5b5050346101a957816003193601126101a95760209060ff60075460881c1690519015158152f35b9050346102b557826003193601126102b5575490516001600160a01b03909116815260209150f35b5050346101a957806003193601126101a9577ff74826f11048fa8ecf33e91132bf280f6582ed97548a84e426b56e98526b9316602061077a610eab565b610782610fbc565b9033865285835261079860ff86882054166110ea565b6001600160a01b0316808652858352848620805460ff191660ff84151516179055935b519015158152a280f35b5050346101a957816003193601126101a95760209063ffffffff600754169051908152f35b5050346101a957816003193601126101a95760085490516001600160a01b039091168152602090f35b8383346101a95761082336610f41565b93909133845263ffffffff60209385855261084360ff84882054166110ea565b1684526009835283209184519167ffffffffffffffff8311610953575061086a835461101a565b601f8111610910575b5080601f83116001146108ae57508394829394926108a3575b50508160011b916000199060031b1c191617905580f35b01519050848061088c565b90601f198316958486528286209286905b8882106108f8575050836001959697106108df575b505050811b01905580f35b015160001960f88460031b161c191690558480806108d4565b806001859682949686015181550195019301906108bf565b838552818520601f840160051c810191838510610949575b601f0160051c01905b81811061093e5750610873565b858155600101610931565b9091508190610928565b634e487b7160e01b855260419052602484fd5b9050346102b557826003193601126102b55760ff60075460801c1615610a0057826109c79160018060a01b03600254168451808095819463a0e3440f60e01b8352820160609060208152600360208201526208aa8960eb1b60408201520190565b03915afa9081156105ee576105c7925083916109e4575b506114df565b6109f891503d8085833e6105de8183610f03565b9050386109de565b6020608492519162461bcd60e51b8352820152602e60248201527f4d7573742063616c6c2064697374726962757465436f6d6d756e69747945786560448201526d31baba37b91034b739ba32b0b21760911b6064820152fd5b9050346102b55760203660031901126102b557610a74610eab565b913384526001602052610a8c60ff82862054166110ea565b60ff60075460801c16610aa357836105c7846111f7565b906020608492519162461bcd60e51b8352820152602560248201527f4d7573742063616c6c2064697374726962757465547265617375727920696e736044820152643a32b0b21760d91b6064820152fd5b5050346101a95760203660031901126101a95780610237610230926102419463ffffffff610270610ec6565b5050346101a957806003193601126101a9577f278b09622564dd3991fe7744514513d64ea2c8ed2b2b9ec1150ad964fde80a996020610b5d610eab565b610b65610fbc565b90338652858352610b7b60ff86882054166110ea565b6001600160a01b031680865260018352848620805460ff191660ff84151516179055936107bb565b5050346101a95760203660031901126101a957610bc360ff610407610ec6565b6007805463ffffffff60601b191660609290921b63ffffffff60601b1691909117905580f35b8383346101a957610bf936610f41565b93909133845263ffffffff602093858552610c1960ff84882054166110ea565b168452600a835283209184519167ffffffffffffffff83116109535750610c40835461101a565b601f8111610cc0575b5080601f8311600114610c7857508394829394926108a35750508160011b916000199060031b1c191617905580f35b90601f198316958486528286209286905b888210610ca8575050836001959697106108df57505050811b01905580f35b80600185968294968601518155019501930190610c89565b838552818520601f840160051c810191838510610cf9575b601f0160051c01905b818110610cee5750610c49565b858155600101610ce1565b9091508190610cd8565b9050346102b55760209182600319360112610e1c57610d20610eab565b91338552848452610d3660ff83872054166110ea565b60018060a01b0380931692836bffffffffffffffffffffffff60a01b6003541617600355858183541691845187816044818663095ea7b360e01b988983528c8b8401528160248401525af18015610e1257916044939189969593610df5575b5084541686519788958694855284015260001960248401525af1908115610dec5750610dbf578280f35b81610dde92903d10610de5575b610dd68183610f03565b810190611125565b5038808280f35b503d610dcc565b513d85823e3d90fd5b610e0b90873d8911610de557610dd68183610f03565b5038610d95565b86513d85823e3d90fd5b8380fd5b5050346101a95760203660031901126101a95763ffffffff60401b610e43610ec6565b33845283602052610e5960ff84862054166110ea565b600754921b169063ffffffff60401b19161760075580f35b849084346102b55760203660031901126102b55760209260ff91906001600160a01b03610e9c610eab565b16815280855220541615158152f35b600435906001600160a01b0382168203610ec157565b600080fd5b6004359063ffffffff82168203610ec157565b67ffffffffffffffff8111610eed57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610eed57604052565b67ffffffffffffffff8111610eed57601f01601f191660200190565b906040600319830112610ec15760043563ffffffff81168103610ec1579160243567ffffffffffffffff8111610ec15781602382011215610ec157806004013590610f8b82610f25565b92610f996040519485610f03565b82845260248383010111610ec15781600092602460209301838601378301015290565b602435908115158203610ec157565b60005b838110610fde5750506000910152565b8181015183820152602001610fce565b6040916020825261100e8151809281602086015260208686019101610fcb565b601f01601f1916010190565b90600182811c9216801561104a575b602083101461103457565b634e487b7160e01b600052602260045260246000fd5b91607f1691611029565b8054600093926110638261101a565b918282526020936001916001811690816000146110cb575060011461108a575b5050505050565b90939495506000929192528360002092846000945b8386106110b757505050500101903880808080611083565b80548587018301529401938590820161109f565b60ff19168685015250505090151560051b010191503880808080611083565b156110f157565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b90816020910312610ec157518015158103610ec15790565b9190604083820312610ec157825167ffffffffffffffff8111610ec15783019080601f83011215610ec15781519161117483610f25565b916111826040519384610f03565b83835260208483010111610ec1576020926111a291848085019101610fcb565b9201516001600160a01b0381168103610ec15790565b6001600160a01b03918216815291166020820152604081019190915260a0606082018190529092916111ec91840190611054565b916080600019910152565b90600654916000926114805760048054604080516370a0823160e01b815230818501526020949093919290916001600160a01b039182168686602481845afa958615611476578996611443575b5060055486106113f45760075463ffffffff948582168089029089820414891517156113e1576127109004978881039081116113e15760065560ff8260881c1660001461133e5750505080604483889354169360085416918a8751958694859363a9059cbb60e01b85528401528960248401525af180156113345796839261131294927f12fb68790bf96e8e0866b1d92968d5f195cefca1c631c800a1a5e1d7b80772419899611317575b505b600754831c1681526009865220908080519586958652850152830190611054565b0390a1565b61132d90883d8a11610de557610dd68183610f03565b50386112ef565b83513d89823e3d90fd5b858560039c97989c969394965416938c1c168652600989528a8620833b156103ba57869493929161138786928b8f51998a98899788966344bc937b60e01b8852169086016111b8565b03925af180156113d7579287927f12fb68790bf96e8e0866b1d92968d5f195cefca1c631c800a1a5e1d7b8077241979892611312956113c8575b50906112f1565b6113d190610ed9565b386113c1565b87513d84823e3d90fd5b634e487b7160e01b8c526011855260248cfd5b845162461bcd60e51b8152808301889052602360248201527f42616c616e63652069732062656c6f77206d696e696d756d2066656520616d6f6044820152621d5b9d60ea1b6064820152608490fd5b9095508681813d831161146f575b61145b8183610f03565b8101031261146b57519438611244565b8880fd5b503d611451565b85513d8b823e3d90fd5b60405162461bcd60e51b815260206004820152603160248201527f497427732074686520636f6d6d756e6974792773207475726e20746f2072656360448201527032b4bb32903234b9ba3934b13aba34b7b760791b6064820152608490fd5b6006549060009082156116aa5760018060a01b03908160045416936040948551936370a0823160e01b85523060048601526020948581602481865afa9081156116a0578791611673575b5083116116205780600354169063ffffffff948560075460601c168852600a8752888820833b1561146b57889493929161157b86928c51988997889687956344bc937b60e01b875216600486016111b8565b03925af18015611616576115e1575b506115d97f2a0d85dcd8643493024ad5bb803e92df710f15f0b462daf2cdba9b7ef18a07c793946006549260075460601c168652600a8452808620908080519586958652850152830190611054565b0390a1600655565b7f2a0d85dcd8643493024ad5bb803e92df710f15f0b462daf2cdba9b7ef18a07c79361160f6115d992610ed9565b935061158a565b85513d86823e3d90fd5b865162461bcd60e51b815260048101869052602660248201527f436f6d6d756e69747920646973747269627574696f6e20657863656564732062604482015265616c616e636560d01b6064820152608490fd5b90508581813d8311611699575b61168a8183610f03565b810103126103ba575138611529565b503d611680565b88513d89823e3d90fd5b60405162461bcd60e51b815260206004820152603060248201527f49742773207468652074726561737572792773207475726e20746f207265636560448201526f34bb32903234b9ba3934b13aba34b7b760811b6064820152608490fdfea2646970667358221220643708981cc607a868cc365e22a7ef06ef62959116418ffe93dee5ff398173eb64736f6c63430008160033000000000000000000000000849ec611ee47bee012fe9274b78e10ddae167d05000000000000000000000000d37bbe5744d730a1d98d8dc97c42f0ca46ad7146000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c85fef7a1b039a9e080aadf80ff6f1536dada088
Deployed Bytecode
0x608060408181526004918236101561001657600080fd5b600092833560e01c918263022914a714610e71575081630852817d14610e2057816308a199da14610d035781630d13b95314610be9578163162d493c14610ba35781631e1bff3f14610b205781631ff48c4914610af457816327a8d0d914610a595781632e394a94146109665781634109ce6c146108135781634626402b146107ea5781634dc10ea1146107c5578163516c731c1461073d57816353ba352c14610715578163644c5695146106ee5781636e91a94814610652578163730a1e38146105495781637dc0d1d01461052057816390170654146104f4578163932f3f66146104ce5781639ac2a011146104905781639e0320ca1461043b578163a8602fea146103e7578163ac21d47a146103be578163b37b50e3146102e1578163c37fb119146102b9578163d61175291461028457508063d6942c8b14610245578063dacd0737146101f1578063e6d7329d146101cb578063f5d36475146101ad5763fa5802941461018557600080fd5b346101a957816003193601126101a9576007549051602091821c63ffffffff168152f35b5080fd5b50346101a957816003193601126101a9576020906005549051908152f35b50346101a957816003193601126101a95760209060ff60075460801c1690519015158152f35b50346101a95760203660031901126101a95780610237610230926102419463ffffffff61021c610ec6565b168152600960205220825193848092611054565b0383610f03565b5191829182610fee565b0390f35b50346101a95760203660031901126101a95780610237610230926102419463ffffffff610270610ec6565b168152600a60205220825193848092611054565b919050346102b55760203660031901126102b55760ff6102ae9133855284602052842054166110ea565b3560055580f35b8280fd5b5050346101a957816003193601126101a95760209063ffffffff60075460601c169051908152f35b9050346102b557816003193601126102b5576102fb610ec6565b906024359263ffffffff808516938486036103ba5781903388528760205261032860ff858a2054166110ea565b169384018181116103a7571661270f190161036457505067ffffffff000000006007549260201b169167ffffffffffffffff1916171760075580f35b906020606492519162461bcd60e51b8352820152601b60248201527f536861726573206d7573742061646420757020746f20313030303000000000006044820152fd5b634e487b7160e01b875260118452602487fd5b8680fd5b5050346101a957816003193601126101a95760035490516001600160a01b039091168152602090f35b5050346101a95760203660031901126101a95761041860ff610407610eab565b9233855284602052842054166110ea565b60018060a01b03166bffffffffffffffffffffffff60a01b600854161760085580f35b9050346102b55760203660031901126102b55735908115158092036102b55760ff6104709133855284602052842054166110ea565b6007805460ff60881b191660889290921b60ff60881b1691909117905580f35b5050346101a95760203660031901126101a95760209160ff9082906001600160a01b036104bb610eab565b1681526001855220541690519015158152f35b5050346101a957816003193601126101a9576007548151911c63ffffffff168152602090f35b5050346101a95760203660031901126101a95780610237610230926102419463ffffffff61021c610ec6565b5050346101a957816003193601126101a95760025490516001600160a01b039091168152602090f35b9050346102b557826003193601126102b55760ff60075460801c16156105fa57826105aa9160018060a01b03600254168451808095819463a0e3440f60e01b8352820160609060208152600360208201526208aa8960eb1b60408201520190565b03915afa9081156105ee576105c7925083916105ca575b506111f7565b80f35b6105e691503d8085833e6105de8183610f03565b81019061113d565b9050386105c1565b505051903d90823e3d90fd5b6020608492519162461bcd60e51b8352820152602d60248201527f4d7573742063616c6c206469737472696275746554726561737572794578656360448201526c3aba37b91034b739ba32b0b21760991b6064820152fd5b9050346102b55760203660031901126102b55761066d610eab565b91338452600160205261068560ff82862054166110ea565b60ff60075460801c1661069c57836105c7846114df565b906020608492519162461bcd60e51b8352820152602660248201527f4d7573742063616c6c2064697374726962757465436f6d6d756e69747920696e60448201526539ba32b0b21760d11b6064820152fd5b5050346101a957816003193601126101a95760209060ff60075460881c1690519015158152f35b9050346102b557826003193601126102b5575490516001600160a01b03909116815260209150f35b5050346101a957806003193601126101a9577ff74826f11048fa8ecf33e91132bf280f6582ed97548a84e426b56e98526b9316602061077a610eab565b610782610fbc565b9033865285835261079860ff86882054166110ea565b6001600160a01b0316808652858352848620805460ff191660ff84151516179055935b519015158152a280f35b5050346101a957816003193601126101a95760209063ffffffff600754169051908152f35b5050346101a957816003193601126101a95760085490516001600160a01b039091168152602090f35b8383346101a95761082336610f41565b93909133845263ffffffff60209385855261084360ff84882054166110ea565b1684526009835283209184519167ffffffffffffffff8311610953575061086a835461101a565b601f8111610910575b5080601f83116001146108ae57508394829394926108a3575b50508160011b916000199060031b1c191617905580f35b01519050848061088c565b90601f198316958486528286209286905b8882106108f8575050836001959697106108df575b505050811b01905580f35b015160001960f88460031b161c191690558480806108d4565b806001859682949686015181550195019301906108bf565b838552818520601f840160051c810191838510610949575b601f0160051c01905b81811061093e5750610873565b858155600101610931565b9091508190610928565b634e487b7160e01b855260419052602484fd5b9050346102b557826003193601126102b55760ff60075460801c1615610a0057826109c79160018060a01b03600254168451808095819463a0e3440f60e01b8352820160609060208152600360208201526208aa8960eb1b60408201520190565b03915afa9081156105ee576105c7925083916109e4575b506114df565b6109f891503d8085833e6105de8183610f03565b9050386109de565b6020608492519162461bcd60e51b8352820152602e60248201527f4d7573742063616c6c2064697374726962757465436f6d6d756e69747945786560448201526d31baba37b91034b739ba32b0b21760911b6064820152fd5b9050346102b55760203660031901126102b557610a74610eab565b913384526001602052610a8c60ff82862054166110ea565b60ff60075460801c16610aa357836105c7846111f7565b906020608492519162461bcd60e51b8352820152602560248201527f4d7573742063616c6c2064697374726962757465547265617375727920696e736044820152643a32b0b21760d91b6064820152fd5b5050346101a95760203660031901126101a95780610237610230926102419463ffffffff610270610ec6565b5050346101a957806003193601126101a9577f278b09622564dd3991fe7744514513d64ea2c8ed2b2b9ec1150ad964fde80a996020610b5d610eab565b610b65610fbc565b90338652858352610b7b60ff86882054166110ea565b6001600160a01b031680865260018352848620805460ff191660ff84151516179055936107bb565b5050346101a95760203660031901126101a957610bc360ff610407610ec6565b6007805463ffffffff60601b191660609290921b63ffffffff60601b1691909117905580f35b8383346101a957610bf936610f41565b93909133845263ffffffff602093858552610c1960ff84882054166110ea565b168452600a835283209184519167ffffffffffffffff83116109535750610c40835461101a565b601f8111610cc0575b5080601f8311600114610c7857508394829394926108a35750508160011b916000199060031b1c191617905580f35b90601f198316958486528286209286905b888210610ca8575050836001959697106108df57505050811b01905580f35b80600185968294968601518155019501930190610c89565b838552818520601f840160051c810191838510610cf9575b601f0160051c01905b818110610cee5750610c49565b858155600101610ce1565b9091508190610cd8565b9050346102b55760209182600319360112610e1c57610d20610eab565b91338552848452610d3660ff83872054166110ea565b60018060a01b0380931692836bffffffffffffffffffffffff60a01b6003541617600355858183541691845187816044818663095ea7b360e01b988983528c8b8401528160248401525af18015610e1257916044939189969593610df5575b5084541686519788958694855284015260001960248401525af1908115610dec5750610dbf578280f35b81610dde92903d10610de5575b610dd68183610f03565b810190611125565b5038808280f35b503d610dcc565b513d85823e3d90fd5b610e0b90873d8911610de557610dd68183610f03565b5038610d95565b86513d85823e3d90fd5b8380fd5b5050346101a95760203660031901126101a95763ffffffff60401b610e43610ec6565b33845283602052610e5960ff84862054166110ea565b600754921b169063ffffffff60401b19161760075580f35b849084346102b55760203660031901126102b55760209260ff91906001600160a01b03610e9c610eab565b16815280855220541615158152f35b600435906001600160a01b0382168203610ec157565b600080fd5b6004359063ffffffff82168203610ec157565b67ffffffffffffffff8111610eed57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610eed57604052565b67ffffffffffffffff8111610eed57601f01601f191660200190565b906040600319830112610ec15760043563ffffffff81168103610ec1579160243567ffffffffffffffff8111610ec15781602382011215610ec157806004013590610f8b82610f25565b92610f996040519485610f03565b82845260248383010111610ec15781600092602460209301838601378301015290565b602435908115158203610ec157565b60005b838110610fde5750506000910152565b8181015183820152602001610fce565b6040916020825261100e8151809281602086015260208686019101610fcb565b601f01601f1916010190565b90600182811c9216801561104a575b602083101461103457565b634e487b7160e01b600052602260045260246000fd5b91607f1691611029565b8054600093926110638261101a565b918282526020936001916001811690816000146110cb575060011461108a575b5050505050565b90939495506000929192528360002092846000945b8386106110b757505050500101903880808080611083565b80548587018301529401938590820161109f565b60ff19168685015250505090151560051b010191503880808080611083565b156110f157565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b90816020910312610ec157518015158103610ec15790565b9190604083820312610ec157825167ffffffffffffffff8111610ec15783019080601f83011215610ec15781519161117483610f25565b916111826040519384610f03565b83835260208483010111610ec1576020926111a291848085019101610fcb565b9201516001600160a01b0381168103610ec15790565b6001600160a01b03918216815291166020820152604081019190915260a0606082018190529092916111ec91840190611054565b916080600019910152565b90600654916000926114805760048054604080516370a0823160e01b815230818501526020949093919290916001600160a01b039182168686602481845afa958615611476578996611443575b5060055486106113f45760075463ffffffff948582168089029089820414891517156113e1576127109004978881039081116113e15760065560ff8260881c1660001461133e5750505080604483889354169360085416918a8751958694859363a9059cbb60e01b85528401528960248401525af180156113345796839261131294927f12fb68790bf96e8e0866b1d92968d5f195cefca1c631c800a1a5e1d7b80772419899611317575b505b600754831c1681526009865220908080519586958652850152830190611054565b0390a1565b61132d90883d8a11610de557610dd68183610f03565b50386112ef565b83513d89823e3d90fd5b858560039c97989c969394965416938c1c168652600989528a8620833b156103ba57869493929161138786928b8f51998a98899788966344bc937b60e01b8852169086016111b8565b03925af180156113d7579287927f12fb68790bf96e8e0866b1d92968d5f195cefca1c631c800a1a5e1d7b8077241979892611312956113c8575b50906112f1565b6113d190610ed9565b386113c1565b87513d84823e3d90fd5b634e487b7160e01b8c526011855260248cfd5b845162461bcd60e51b8152808301889052602360248201527f42616c616e63652069732062656c6f77206d696e696d756d2066656520616d6f6044820152621d5b9d60ea1b6064820152608490fd5b9095508681813d831161146f575b61145b8183610f03565b8101031261146b57519438611244565b8880fd5b503d611451565b85513d8b823e3d90fd5b60405162461bcd60e51b815260206004820152603160248201527f497427732074686520636f6d6d756e6974792773207475726e20746f2072656360448201527032b4bb32903234b9ba3934b13aba34b7b760791b6064820152608490fd5b6006549060009082156116aa5760018060a01b03908160045416936040948551936370a0823160e01b85523060048601526020948581602481865afa9081156116a0578791611673575b5083116116205780600354169063ffffffff948560075460601c168852600a8752888820833b1561146b57889493929161157b86928c51988997889687956344bc937b60e01b875216600486016111b8565b03925af18015611616576115e1575b506115d97f2a0d85dcd8643493024ad5bb803e92df710f15f0b462daf2cdba9b7ef18a07c793946006549260075460601c168652600a8452808620908080519586958652850152830190611054565b0390a1600655565b7f2a0d85dcd8643493024ad5bb803e92df710f15f0b462daf2cdba9b7ef18a07c79361160f6115d992610ed9565b935061158a565b85513d86823e3d90fd5b865162461bcd60e51b815260048101869052602660248201527f436f6d6d756e69747920646973747269627574696f6e20657863656564732062604482015265616c616e636560d01b6064820152608490fd5b90508581813d8311611699575b61168a8183610f03565b810103126103ba575138611529565b503d611680565b88513d89823e3d90fd5b60405162461bcd60e51b815260206004820152603060248201527f49742773207468652074726561737572792773207475726e20746f207265636560448201526f34bb32903234b9ba3934b13aba34b7b760811b6064820152608490fdfea2646970667358221220643708981cc607a868cc365e22a7ef06ef62959116418ffe93dee5ff398173eb64736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000849ec611ee47bee012fe9274b78e10ddae167d05000000000000000000000000d37bbe5744d730a1d98d8dc97c42f0ca46ad7146000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c85fef7a1b039a9e080aadf80ff6f1536dada088
-----Decoded View---------------
Arg [0] : _oracleAddress (address): 0x849ec611ee47BeE012Fe9274B78E10DDaE167D05
Arg [1] : _tcRouterAddress (address): 0xD37BbE5744D730a1d98d8DC97c42F0Ca46aD7146
Arg [2] : _feeAsset (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [3] : _treasuryWallet (address): 0xC85feF7A1b039A9e080aadf80FF6f1536DADa088
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000849ec611ee47bee012fe9274b78e10ddae167d05
Arg [1] : 000000000000000000000000d37bbe5744d730a1d98d8dc97c42f0ca46ad7146
Arg [2] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [3] : 000000000000000000000000c85fef7a1b039a9e080aadf80ff6f1536dada088
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.999378 | 2,660.555 | $2,658.9 |
Loading...
Loading
[ 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.