Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Loading...
Loading
Contract Name:
PackingSwapPaths
Compiler Version
v0.8.20+commit.a1b79de6
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.0;
contract PackingSwapPaths {
function getEncodedPacked(
address inToken,
uint24 feeIn,
address[] memory proxies,
uint24[] memory feesOut,
address target
) external pure returns (bytes memory encoded) {
if (proxies.length > 0 ) {
require(proxies.length == feesOut.length, "Proxies and fees have different length");
bytes memory proxiesPacked;
for(uint i=0; i<proxies.length; i++) {
proxiesPacked = abi.encodePacked(proxiesPacked,proxies[i], feesOut[i]);
}
encoded = abi.encodePacked(inToken, feeIn, proxiesPacked, target);
} else {
require(feesOut.length > 0, "feesOut[0] is missing");
encoded = abi.encodePacked(inToken, feesOut[0], target);
}
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract ABI
API[{"inputs":[{"internalType":"address","name":"inToken","type":"address"},{"internalType":"uint24","name":"feeIn","type":"uint24"},{"internalType":"address[]","name":"proxies","type":"address[]"},{"internalType":"uint24[]","name":"feesOut","type":"uint24[]"},{"internalType":"address","name":"target","type":"address"}],"name":"getEncodedPacked","outputs":[{"internalType":"bytes","name":"encoded","type":"bytes"}],"stateMutability":"pure","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506105a9806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634a6f82fe14610030575b600080fd5b61004361003e366004610345565b610059565b604051610050919061045d565b60405180910390f35b8251606090156101705782518451146100c85760405162461bcd60e51b815260206004820152602660248201527f50726f7869657320616e642066656573206861766520646966666572656e74206044820152650d8cadccee8d60d31b60648201526084015b60405180910390fd5b606060005b855181101561014157818682815181106100e9576100e9610490565b602002602001015186838151811061010357610103610490565b602002602001015160405160200161011d939291906104a6565b60405160208183030381529060405291508080610139906104f2565b9150506100cd565b50868682856040516020016101599493929190610519565b604051602081830303815290604052915050610230565b60008351116101b95760405162461bcd60e51b8152602060048201526015602482015274666565734f75745b305d206973206d697373696e6760581b60448201526064016100bf565b85836000815181106101cd576101cd610490565b60200260200101518360405160200161021e93929190606093841b6bffffffffffffffffffffffff19908116825260e89390931b6001600160e81b0319166014820152921b166017820152602b0190565b60405160208183030381529060405290505b95945050505050565b80356001600160a01b038116811461025057600080fd5b919050565b803562ffffff8116811461025057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156102a7576102a7610268565b604052919050565b600067ffffffffffffffff8211156102c9576102c9610268565b5060051b60200190565b600082601f8301126102e457600080fd5b813560206102f96102f4836102af565b61027e565b82815260059290921b8401810191818101908684111561031857600080fd5b8286015b8481101561033a5761032d81610255565b835291830191830161031c565b509695505050505050565b600080600080600060a0868803121561035d57600080fd5b61036686610239565b94506020610375818801610255565b9450604087013567ffffffffffffffff8082111561039257600080fd5b818901915089601f8301126103a657600080fd5b81356103b46102f4826102af565b81815260059190911b8301840190848101908c8311156103d357600080fd5b938501935b828510156103f8576103e985610239565b825293850193908501906103d8565b97505050606089013592508083111561041057600080fd5b505061041e888289016102d3565b92505061042d60808701610239565b90509295509295909350565b60005b8381101561045457818101518382015260200161043c565b50506000910152565b602081526000825180602084015261047c816040850160208701610439565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b600084516104b8818460208901610439565b60609490941b6bffffffffffffffffffffffff19169190930190815260e89190911b6001600160e81b031916601482015260170192915050565b60006001820161051257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006bffffffffffffffffffffffff19808760601b16835262ffffff60e81b8660e81b1660148401528451610555816017860160208901610439565b60609490941b16919092016017810191909152602b0194935050505056fea2646970667358221220e53580c8252179e7292200a28ec5a30a3e98fc68201402d9da3b814ee48533c964736f6c63430008140033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80634a6f82fe14610030575b600080fd5b61004361003e366004610345565b610059565b604051610050919061045d565b60405180910390f35b8251606090156101705782518451146100c85760405162461bcd60e51b815260206004820152602660248201527f50726f7869657320616e642066656573206861766520646966666572656e74206044820152650d8cadccee8d60d31b60648201526084015b60405180910390fd5b606060005b855181101561014157818682815181106100e9576100e9610490565b602002602001015186838151811061010357610103610490565b602002602001015160405160200161011d939291906104a6565b60405160208183030381529060405291508080610139906104f2565b9150506100cd565b50868682856040516020016101599493929190610519565b604051602081830303815290604052915050610230565b60008351116101b95760405162461bcd60e51b8152602060048201526015602482015274666565734f75745b305d206973206d697373696e6760581b60448201526064016100bf565b85836000815181106101cd576101cd610490565b60200260200101518360405160200161021e93929190606093841b6bffffffffffffffffffffffff19908116825260e89390931b6001600160e81b0319166014820152921b166017820152602b0190565b60405160208183030381529060405290505b95945050505050565b80356001600160a01b038116811461025057600080fd5b919050565b803562ffffff8116811461025057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156102a7576102a7610268565b604052919050565b600067ffffffffffffffff8211156102c9576102c9610268565b5060051b60200190565b600082601f8301126102e457600080fd5b813560206102f96102f4836102af565b61027e565b82815260059290921b8401810191818101908684111561031857600080fd5b8286015b8481101561033a5761032d81610255565b835291830191830161031c565b509695505050505050565b600080600080600060a0868803121561035d57600080fd5b61036686610239565b94506020610375818801610255565b9450604087013567ffffffffffffffff8082111561039257600080fd5b818901915089601f8301126103a657600080fd5b81356103b46102f4826102af565b81815260059190911b8301840190848101908c8311156103d357600080fd5b938501935b828510156103f8576103e985610239565b825293850193908501906103d8565b97505050606089013592508083111561041057600080fd5b505061041e888289016102d3565b92505061042d60808701610239565b90509295509295909350565b60005b8381101561045457818101518382015260200161043c565b50506000910152565b602081526000825180602084015261047c816040850160208701610439565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b600084516104b8818460208901610439565b60609490941b6bffffffffffffffffffffffff19169190930190815260e89190911b6001600160e81b031916601482015260170192915050565b60006001820161051257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006bffffffffffffffffffffffff19808760601b16835262ffffff60e81b8660e81b1660148401528451610555816017860160208901610439565b60609490941b16919092016017810191909152602b0194935050505056fea2646970667358221220e53580c8252179e7292200a28ec5a30a3e98fc68201402d9da3b814ee48533c964736f6c63430008140033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.