Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60e06040 | 12350264 | 1255 days ago | IN | 0 ETH | 0.06255626 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SushiSwapMultiSwapper
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-01 */ /** *Submitted for verification at polygonscan.com on 2021-06-30 */ /** *Submitted for verification at Etherscan.io on 2021-05-01 */ // File contracts/swappers/SushiSwapMultiSwapper.sol // SPDX-License-Identifier: GPL-3.0 pragma solidity 0.6.12; pragma experimental ABIEncoderV2; // solhint-disable avoid-low-level-calls // File @boringcrypto/boring-solidity/contracts/interfaces/[email protected] // License-Identifier: MIT interface IERC20 { } // File @boringcrypto/boring-solidity/contracts/libraries/[email protected] // License-Identifier: MIT library BoringERC20 { bytes4 private constant SIG_TRANSFER = 0xa9059cbb; // transfer(address,uint256) /// @notice Provides a safe ERC20.transfer version for different ERC-20 implementations. /// Reverts on a failed transfer. /// @param token The address of the ERC-20 token. /// @param to Transfer tokens to. /// @param amount The token amount. function safeTransfer( IERC20 token, address to, uint256 amount ) internal { (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(SIG_TRANSFER, to, amount)); require(success && (data.length == 0 || abi.decode(data, (bool))), "BoringERC20: Transfer failed"); } } // File @boringcrypto/boring-solidity/contracts/libraries/[email protected] // License-Identifier: MIT /// @notice A library for performing overflow-/underflow-safe math, /// updated with awesomeness from of DappHub (https://github.com/dapphub/ds-math). library BoringMath { function add(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a + b) >= b, "BoringMath: Add Overflow"); } function sub(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a - b) <= a, "BoringMath: Underflow"); } function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { require(b == 0 || (c = a * b) / b == a, "BoringMath: Mul Overflow"); } } // File @sushiswap/core/contracts/uniswapv2/interfaces/[email protected] // License-Identifier: GPL-3.0 interface IUniswapV2Pair { function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; } // File contracts/libraries/UniswapV2Library.sol // License-Identifier: GPL-3.0 library UniswapV2Library { using BoringMath for uint256; // returns sorted token addresses, used to handle return values from pairs sorted in this order function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) { require(tokenA != tokenB, "UniswapV2Library: IDENTICAL_ADDRESSES"); (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA); require(token0 != address(0), "UniswapV2Library: ZERO_ADDRESS"); } // calculates the CREATE2 address for a pair without making any external calls function pairFor( address factory, address tokenA, address tokenB, bytes32 pairCodeHash ) internal pure returns (address pair) { (address token0, address token1) = sortTokens(tokenA, tokenB); pair = address( uint256( keccak256( abi.encodePacked( hex"ff", factory, keccak256(abi.encodePacked(token0, token1)), pairCodeHash // init code hash ) ) ) ); } // fetches and sorts the reserves for a pair function getReserves( address factory, address tokenA, address tokenB, bytes32 pairCodeHash ) internal view returns (uint256 reserveA, uint256 reserveB) { (address token0, ) = sortTokens(tokenA, tokenB); (uint256 reserve0, uint256 reserve1, ) = IUniswapV2Pair(pairFor(factory, tokenA, tokenB, pairCodeHash)).getReserves(); (reserveA, reserveB) = tokenA == token0 ? (reserve0, reserve1) : (reserve1, reserve0); } // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) internal pure returns (uint256 amountOut) { require(amountIn > 0, "UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT"); require(reserveIn > 0 && reserveOut > 0, "UniswapV2Library: INSUFFICIENT_LIQUIDITY"); uint256 amountInWithFee = amountIn.mul(997); uint256 numerator = amountInWithFee.mul(reserveOut); uint256 denominator = reserveIn.mul(1000).add(amountInWithFee); amountOut = numerator / denominator; } // performs chained getAmountOut calculations on any number of pairs function getAmountsOut( address factory, uint256 amountIn, address[] memory path, bytes32 pairCodeHash ) internal view returns (uint256[] memory amounts) { require(path.length >= 2, "UniswapV2Library: INVALID_PATH"); amounts = new uint256[](path.length); amounts[0] = amountIn; for (uint256 i; i < path.length - 1; i++) { (uint256 reserveIn, uint256 reserveOut) = getReserves(factory, path[i], path[i + 1], pairCodeHash); amounts[i + 1] = getAmountOut(amounts[i], reserveIn, reserveOut); } } } // File @sushiswap/bentobox-sdk/contracts/[email protected] // License-Identifier: MIT interface IBentoBoxV1 { function deposit( IERC20 token_, address from, address to, uint256 amount, uint256 share ) external payable returns (uint256 amountOut, uint256 shareOut); function toAmount( IERC20 token, uint256 share, bool roundUp ) external view returns (uint256 amount); function withdraw( IERC20 token_, address from, address to, uint256 amount, uint256 share ) external returns (uint256 amountOut, uint256 shareOut); } // File contracts/swappers/SushiSwapMultiSwapper.sol // License-Identifier: GPL-3.0 contract SushiSwapMultiSwapper { using BoringERC20 for IERC20; using BoringMath for uint256; address private immutable factory; IBentoBoxV1 private immutable bentoBox; bytes32 private immutable pairCodeHash; constructor( address _factory, IBentoBoxV1 _bentoBox, bytes32 _pairCodeHash ) public { factory = _factory; bentoBox = _bentoBox; pairCodeHash = _pairCodeHash; } function getOutputAmount( IERC20 tokenIn, address[] calldata path, uint256 shareIn ) external view returns (uint256 amountOut) { uint256 amountIn = bentoBox.toAmount(tokenIn, shareIn, false); uint256[] memory amounts = UniswapV2Library.getAmountsOut(factory, amountIn, path, pairCodeHash); amountOut = amounts[amounts.length - 1]; } function swap( IERC20 tokenIn, IERC20 tokenOut, uint256 amountMinOut, address path1, address path2, address to, uint256 baseShare, uint256 shareIn ) external returns (uint256) { address[] memory path; if (path2 == address(0)) { if (path1 == address(0)) { path = new address[](2); path[1] = address(tokenOut); } else { path = new address[](3); path[1] = path1; path[2] = address(tokenOut); } } else { path = new address[](4); path[1] = path1; path[2] = path2; path[3] = address(tokenOut); } path[0] = address(tokenIn); (uint256 amountIn, ) = bentoBox.withdraw(tokenIn, address(this), UniswapV2Library.pairFor(factory, path[0], path[1], pairCodeHash), 0, shareIn); uint256 amount = _swapExactTokensForTokens(amountIn, amountMinOut, path, address(bentoBox)); (, uint256 share) = bentoBox.deposit(tokenOut, address(bentoBox), to, amount, 0); return baseShare.add(share); } // Swaps an exact amount of tokens for another token through the path passed as an argument // Returns the amount of the final token function _swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] memory path, address to ) internal returns (uint256 amountOut) { uint256[] memory amounts = UniswapV2Library.getAmountsOut(factory, amountIn, path, pairCodeHash); amountOut = amounts[amounts.length - 1]; require(amountOut >= amountOutMin, "insufficient-amount-out"); _swap(amounts, path, to); } // requires the initial amount to have already been sent to the first pair function _swap( uint256[] memory amounts, address[] memory path, address _to ) internal virtual { for (uint256 i; i < path.length - 1; i++) { (address input, address output) = (path[i], path[i + 1]); (address token0, ) = UniswapV2Library.sortTokens(input, output); uint256 amountOut = amounts[i + 1]; (uint256 amount0Out, uint256 amount1Out) = input == token0 ? (uint256(0), amountOut) : (amountOut, uint256(0)); address to = i < path.length - 2 ? UniswapV2Library.pairFor(factory, output, path[i + 2], pairCodeHash) : _to; IUniswapV2Pair(UniswapV2Library.pairFor(factory, input, output, pairCodeHash)).swap(amount0Out, amount1Out, to, new bytes(0)); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"contract IBentoBoxV1","name":"_bentoBox","type":"address"},{"internalType":"bytes32","name":"_pairCodeHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"contract IERC20","name":"tokenIn","type":"address"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"uint256","name":"shareIn","type":"uint256"}],"name":"getOutputAmount","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenIn","type":"address"},{"internalType":"contract IERC20","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amountMinOut","type":"uint256"},{"internalType":"address","name":"path1","type":"address"},{"internalType":"address","name":"path2","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"baseShare","type":"uint256"},{"internalType":"uint256","name":"shareIn","type":"uint256"}],"name":"swap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60e060405234801561001057600080fd5b5060405161125d38038061125d83398101604081905261002f91610052565b6001600160601b0319606093841b81166080529190921b1660a05260c0526100ac565b600080600060608486031215610066578283fd5b835161007181610094565b602085015190935061008281610094565b80925050604084015190509250925092565b6001600160a01b03811681146100a957600080fd5b50565b60805160601c60a05160601c60c051611149610114600039806101765280610418528061078b5280610b26525080607c528061039952806104bd52806104e7528061051752508061012452806103cd52806107685280610acd5280610b0352506111496000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632c74ce471461003b5780633087d74214610064575b600080fd5b61004e610049366004610c29565b610077565b60405161005b919061106c565b60405180910390f35b61004e610072366004610cb1565b6101c5565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166356623118878560006040518463ffffffff1660e01b81526004016100cb93929190610e5e565b60206040518083038186803b1580156100e357600080fd5b505afa1580156100f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011b9190610d90565b9050606061019f7f0000000000000000000000000000000000000000000000000000000000000000838888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f000000000000000000000000000000000000000000000000000000000000000092506105ca915050565b9050806001825103815181106101b157fe5b602002602001015192505050949350505050565b600060606001600160a01b0386166102bb576001600160a01b038716610238576040805160028082526060820183529091602083019080368337019050509050888160018151811061021357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506102b6565b604080516003808252608082019092529060208201606080368337019050509050868160018151811061026757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050888160028151811061029557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610367565b60408051600480825260a08201909252906020820160808036833701905050905086816001815181106102ea57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050858160028151811061031857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050888160038151811061034657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b898160008151811061037557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397da6d308c3061043c7f0000000000000000000000000000000000000000000000000000000000000000876000815181106103f957fe5b60200260200101518860018151811061040e57fe5b60200260200101517f00000000000000000000000000000000000000000000000000000000000000006106ec565b6000896040518663ffffffff1660e01b815260040161045f959493929190610e2a565b6040805180830381600087803b15801561047857600080fd5b505af115801561048c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b09190610da8565b50905060006104e1828b857f000000000000000000000000000000000000000000000000000000000000000061075f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302b9446c8d7f00000000000000000000000000000000000000000000000000000000000000008b8660006040518663ffffffff1660e01b815260040161055a959493929190610e2a565b6040805180830381600087803b15801561057357600080fd5b505af1158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab9190610da8565b91506105b9905087826107f6565b9d9c50505050505050505050505050565b60606002835110156105f75760405162461bcd60e51b81526004016105ee90610ec6565b60405180910390fd5b825167ffffffffffffffff8111801561060f57600080fd5b50604051908082528060200260200182016040528015610639578160200160208202803683370190505b509050838160008151811061064a57fe5b60200260200101818152505060005b60018451038110156106e35760008061069d8887858151811061067857fe5b602002602001015188866001018151811061068f57fe5b60200260200101518861081f565b915091506106bf8484815181106106b057fe5b602002602001015183836108fa565b8484600101815181106106ce57fe5b60209081029190910101525050600101610659565b50949350505050565b60008060006106fb8686610994565b91509150868282604051602001610713929190610dcb565b604051602081830303815290604052805190602001208560405160200161073c93929190610df2565b60408051601f198184030181529190528051602090910120979650505050505050565b600060606107af7f000000000000000000000000000000000000000000000000000000000000000087867f00000000000000000000000000000000000000000000000000000000000000006105ca565b9050806001825103815181106107c157fe5b60200260200101519150848210156107eb5760405162461bcd60e51b81526004016105ee90611035565b6106e3818585610a1e565b818101818110156108195760405162461bcd60e51b81526004016105ee90610efd565b92915050565b600080600061082e8686610994565b509050600080610840898989896106ec565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190610d3c565b506001600160701b031691506001600160701b03169150826001600160a01b0316886001600160a01b0316146108e75780826108ea565b81815b909a909950975050505050505050565b600080841161091b5760405162461bcd60e51b81526004016105ee90610fb3565b60008311801561092b5750600082115b6109475760405162461bcd60e51b81526004016105ee90610f34565b6000610955856103e5610bf2565b905060006109638285610bf2565b9050600061097d83610977886103e8610bf2565b906107f6565b905080828161098857fe5b04979650505050505050565b600080826001600160a01b0316846001600160a01b031614156109c95760405162461bcd60e51b81526004016105ee90610e81565b826001600160a01b0316846001600160a01b0316106109e95782846109ec565b83835b90925090506001600160a01b038216610a175760405162461bcd60e51b81526004016105ee90610f7c565b9250929050565b60005b6001835103811015610bec57600080848381518110610a3c57fe5b6020026020010151858460010181518110610a5357fe5b6020026020010151915091506000610a6b8383610994565b5090506000878560010181518110610a7f57fe5b60200260200101519050600080836001600160a01b0316866001600160a01b031614610aad57826000610ab1565b6000835b91509150600060028a51038810610ac85788610afc565b610afc7f0000000000000000000000000000000000000000000000000000000000000000878c8b6002018151811061040e57fe5b9050610b4a7f000000000000000000000000000000000000000000000000000000000000000088887f00000000000000000000000000000000000000000000000000000000000000006106ec565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f191660200182016040528015610b87576020820181803683370190505b506040518563ffffffff1660e01b8152600401610ba79493929190611075565b600060405180830381600087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b505060019099019850610a21975050505050505050565b50505050565b6000811580610c0d57505080820282828281610c0a57fe5b04145b6108195760405162461bcd60e51b81526004016105ee90610ffe565b60008060008060608587031215610c3e578384fd5b8435610c49816110e6565b9350602085013567ffffffffffffffff80821115610c65578485fd5b818701915087601f830112610c78578485fd5b813581811115610c86578586fd5b8860208083028501011115610c99578586fd5b95986020929092019750949560400135945092505050565b600080600080600080600080610100898b031215610ccd578384fd5b8835610cd8816110e6565b97506020890135610ce8816110e6565b9650604089013595506060890135610cff816110e6565b94506080890135610d0f816110e6565b935060a0890135610d1f816110e6565b979a969950949793969295929450505060c08201359160e0013590565b600080600060608486031215610d50578283fd5b8351610d5b816110fe565b6020850151909350610d6c816110fe565b604085015190925063ffffffff81168114610d85578182fd5b809150509250925092565b600060208284031215610da1578081fd5b5051919050565b60008060408385031215610dba578182fd5b505080516020909101519092909150565b6bffffffffffffffffffffffff19606093841b811682529190921b16601482015260280190565b6001600160f81b0319815260609390931b6bffffffffffffffffffffffff191660018401526015830191909152603582015260550190565b6001600160a01b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b6001600160a01b0393909316835260208301919091521515604082015260600190565b60208082526025908201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604082015264455353455360d81b606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604082015260600190565b60208082526018908201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604082015260600190565b60208082526028908201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604082015267495155494449545960c01b606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604082015260600190565b6020808252602b908201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960408201526a1394155517d05353d5539560aa1b606082015260800190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b60208082526017908201527f696e73756666696369656e742d616d6f756e742d6f7574000000000000000000604082015260600190565b90815260200190565b60008582526020858184015260018060a01b0385166040840152608060608401528351806080850152825b818110156110bc5785810183015185820160a0015282016110a0565b818111156110cd578360a083870101525b50601f01601f19169290920160a0019695505050505050565b6001600160a01b03811681146110fb57600080fd5b50565b6001600160701b03811681146110fb57600080fdfea26469706673582212202fc27586e09cf7fcab62e34e8159a6f8d0a3846a72db7c5b2a4dd127d2b4b00d64736f6c634300060c0033000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd643966e18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c80632c74ce471461003b5780633087d74214610064575b600080fd5b61004e610049366004610c29565b610077565b60405161005b919061106c565b60405180910390f35b61004e610072366004610cb1565b6101c5565b6000807f000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd6439666001600160a01b03166356623118878560006040518463ffffffff1660e01b81526004016100cb93929190610e5e565b60206040518083038186803b1580156100e357600080fd5b505afa1580156100f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011b9190610d90565b9050606061019f7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac838888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c630392506105ca915050565b9050806001825103815181106101b157fe5b602002602001015192505050949350505050565b600060606001600160a01b0386166102bb576001600160a01b038716610238576040805160028082526060820183529091602083019080368337019050509050888160018151811061021357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506102b6565b604080516003808252608082019092529060208201606080368337019050509050868160018151811061026757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050888160028151811061029557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610367565b60408051600480825260a08201909252906020820160808036833701905050905086816001815181106102ea57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050858160028151811061031857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050888160038151811061034657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b898160008151811061037557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060007f000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd6439666001600160a01b03166397da6d308c3061043c7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac876000815181106103f957fe5b60200260200101518860018151811061040e57fe5b60200260200101517fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63036106ec565b6000896040518663ffffffff1660e01b815260040161045f959493929190610e2a565b6040805180830381600087803b15801561047857600080fd5b505af115801561048c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b09190610da8565b50905060006104e1828b857f000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd64396661075f565b905060007f000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd6439666001600160a01b03166302b9446c8d7f000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd6439668b8660006040518663ffffffff1660e01b815260040161055a959493929190610e2a565b6040805180830381600087803b15801561057357600080fd5b505af1158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab9190610da8565b91506105b9905087826107f6565b9d9c50505050505050505050505050565b60606002835110156105f75760405162461bcd60e51b81526004016105ee90610ec6565b60405180910390fd5b825167ffffffffffffffff8111801561060f57600080fd5b50604051908082528060200260200182016040528015610639578160200160208202803683370190505b509050838160008151811061064a57fe5b60200260200101818152505060005b60018451038110156106e35760008061069d8887858151811061067857fe5b602002602001015188866001018151811061068f57fe5b60200260200101518861081f565b915091506106bf8484815181106106b057fe5b602002602001015183836108fa565b8484600101815181106106ce57fe5b60209081029190910101525050600101610659565b50949350505050565b60008060006106fb8686610994565b91509150868282604051602001610713929190610dcb565b604051602081830303815290604052805190602001208560405160200161073c93929190610df2565b60408051601f198184030181529190528051602090910120979650505050505050565b600060606107af7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac87867fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63036105ca565b9050806001825103815181106107c157fe5b60200260200101519150848210156107eb5760405162461bcd60e51b81526004016105ee90611035565b6106e3818585610a1e565b818101818110156108195760405162461bcd60e51b81526004016105ee90610efd565b92915050565b600080600061082e8686610994565b509050600080610840898989896106ec565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190610d3c565b506001600160701b031691506001600160701b03169150826001600160a01b0316886001600160a01b0316146108e75780826108ea565b81815b909a909950975050505050505050565b600080841161091b5760405162461bcd60e51b81526004016105ee90610fb3565b60008311801561092b5750600082115b6109475760405162461bcd60e51b81526004016105ee90610f34565b6000610955856103e5610bf2565b905060006109638285610bf2565b9050600061097d83610977886103e8610bf2565b906107f6565b905080828161098857fe5b04979650505050505050565b600080826001600160a01b0316846001600160a01b031614156109c95760405162461bcd60e51b81526004016105ee90610e81565b826001600160a01b0316846001600160a01b0316106109e95782846109ec565b83835b90925090506001600160a01b038216610a175760405162461bcd60e51b81526004016105ee90610f7c565b9250929050565b60005b6001835103811015610bec57600080848381518110610a3c57fe5b6020026020010151858460010181518110610a5357fe5b6020026020010151915091506000610a6b8383610994565b5090506000878560010181518110610a7f57fe5b60200260200101519050600080836001600160a01b0316866001600160a01b031614610aad57826000610ab1565b6000835b91509150600060028a51038810610ac85788610afc565b610afc7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac878c8b6002018151811061040e57fe5b9050610b4a7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac88887fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63036106ec565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f191660200182016040528015610b87576020820181803683370190505b506040518563ffffffff1660e01b8152600401610ba79493929190611075565b600060405180830381600087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b505060019099019850610a21975050505050505050565b50505050565b6000811580610c0d57505080820282828281610c0a57fe5b04145b6108195760405162461bcd60e51b81526004016105ee90610ffe565b60008060008060608587031215610c3e578384fd5b8435610c49816110e6565b9350602085013567ffffffffffffffff80821115610c65578485fd5b818701915087601f830112610c78578485fd5b813581811115610c86578586fd5b8860208083028501011115610c99578586fd5b95986020929092019750949560400135945092505050565b600080600080600080600080610100898b031215610ccd578384fd5b8835610cd8816110e6565b97506020890135610ce8816110e6565b9650604089013595506060890135610cff816110e6565b94506080890135610d0f816110e6565b935060a0890135610d1f816110e6565b979a969950949793969295929450505060c08201359160e0013590565b600080600060608486031215610d50578283fd5b8351610d5b816110fe565b6020850151909350610d6c816110fe565b604085015190925063ffffffff81168114610d85578182fd5b809150509250925092565b600060208284031215610da1578081fd5b5051919050565b60008060408385031215610dba578182fd5b505080516020909101519092909150565b6bffffffffffffffffffffffff19606093841b811682529190921b16601482015260280190565b6001600160f81b0319815260609390931b6bffffffffffffffffffffffff191660018401526015830191909152603582015260550190565b6001600160a01b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b6001600160a01b0393909316835260208301919091521515604082015260600190565b60208082526025908201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604082015264455353455360d81b606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604082015260600190565b60208082526018908201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604082015260600190565b60208082526028908201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604082015267495155494449545960c01b606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604082015260600190565b6020808252602b908201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960408201526a1394155517d05353d5539560aa1b606082015260800190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b60208082526017908201527f696e73756666696369656e742d616d6f756e742d6f7574000000000000000000604082015260600190565b90815260200190565b60008582526020858184015260018060a01b0385166040840152608060608401528351806080850152825b818110156110bc5785810183015185820160a0015282016110a0565b818111156110cd578360a083870101525b50601f01601f19169290920160a0019695505050505050565b6001600160a01b03811681146110fb57600080fd5b50565b6001600160701b03811681146110fb57600080fdfea26469706673582212202fc27586e09cf7fcab62e34e8159a6f8d0a3846a72db7c5b2a4dd127d2b4b00d64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd643966e18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303
-----Decoded View---------------
Arg [0] : _factory (address): 0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac
Arg [1] : _bentoBox (address): 0xF5BCE5077908a1b7370B9ae04AdC565EBd643966
Arg [2] : _pairCodeHash (bytes32): 0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac
Arg [1] : 000000000000000000000000f5bce5077908a1b7370b9ae04adc565ebd643966
Arg [2] : e18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303
Deployed Bytecode Sourcemap
6575:3576:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7049:396;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7453:1207;;;;;;:::i;:::-;;:::i;7049:396::-;7189:17;7219:16;7238:8;-1:-1:-1;;;;;7238:17:0;;7256:7;7265;7274:5;7238:42;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7219:61;;7291:24;7318:69;7349:7;7358:8;7368:4;;7318:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7374:12:0;;-1:-1:-1;7318:30:0;;-1:-1:-1;;7318:69:0:i;:::-;7291:96;;7410:7;7435:1;7418:7;:14;:18;7410:27;;;;;;;;;;;;;;7398:39;;7049:396;;;;;;;;:::o;7453:1207::-;7697:7;7717:21;-1:-1:-1;;;;;7753:19:0;;7749:482;;-1:-1:-1;;;;;7793:19:0;;7789:273;;7840:16;;;7854:1;7840:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7840:16:0;7833:23;;7893:8;7875:4;7880:1;7875:7;;;;;;;;;;;;;:27;-1:-1:-1;;;;;7875:27:0;;;-1:-1:-1;;;;;7875:27:0;;;;;7789:273;;;7950:16;;;7964:1;7950:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7950:16:0;7943:23;;7995:5;7985:4;7990:1;7985:7;;;;;;;;;;;;;:15;-1:-1:-1;;;;;7985:15:0;;;-1:-1:-1;;;;;7985:15:0;;;;;8037:8;8019:4;8024:1;8019:7;;;;;;;;;;;;;:27;-1:-1:-1;;;;;8019:27:0;;;-1:-1:-1;;;;;8019:27:0;;;;;7789:273;7749:482;;;8101:16;;;8115:1;8101:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8101:16:0;8094:23;;8142:5;8132:4;8137:1;8132:7;;;;;;;;;;;;;:15;-1:-1:-1;;;;;8132:15:0;;;-1:-1:-1;;;;;8132:15:0;;;;;8172:5;8162:4;8167:1;8162:7;;;;;;;;;;;;;:15;-1:-1:-1;;;;;8162:15:0;;;-1:-1:-1;;;;;8162:15:0;;;;;8210:8;8192:4;8197:1;8192:7;;;;;;;;;;;;;:27;-1:-1:-1;;;;;8192:27:0;;;-1:-1:-1;;;;;8192:27:0;;;;;7749:482;8259:7;8241:4;8246:1;8241:7;;;;;;;;;;;;;:26;-1:-1:-1;;;;;8241:26:0;;;-1:-1:-1;;;;;8241:26:0;;;;;8279:16;8301:8;-1:-1:-1;;;;;8301:17:0;;8319:7;8336:4;8343:65;8368:7;8377:4;8382:1;8377:7;;;;;;;;;;;;;;8386:4;8391:1;8386:7;;;;;;;;;;;;;;8395:12;8343:24;:65::i;:::-;8410:1;8413:7;8301:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8278:143;;;8432:14;8449:74;8475:8;8485:12;8499:4;8513:8;8449:25;:74::i;:::-;8432:91;;8537:13;8554:8;-1:-1:-1;;;;;8554:16:0;;8571:8;8589;8600:2;8604:6;8612:1;8554:60;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8534:80;-1:-1:-1;8632:20:0;;-1:-1:-1;8632:9:0;8534:80;8632:13;:20::i;:::-;8625:27;7453:1207;-1:-1:-1;;;;;;;;;;;;;7453:1207:0:o;5189:608::-;5358:24;5418:1;5403:4;:11;:16;;5395:59;;;;-1:-1:-1;;;5395:59:0;;;;;;;:::i;:::-;;;;;;;;;5489:4;:11;5475:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5475:26:0;;5465:36;;5525:8;5512:7;5520:1;5512:10;;;;;;;;;;;;;:21;;;;;5549:9;5544:246;5578:1;5564:4;:11;:15;5560:1;:19;5544:246;;;5602:17;5621:18;5643:56;5655:7;5664:4;5669:1;5664:7;;;;;;;;;;;;;;5673:4;5678:1;5682;5678:5;5673:11;;;;;;;;;;;;;;5686:12;5643:11;:56::i;:::-;5601:98;;;;5731:47;5744:7;5752:1;5744:10;;;;;;;;;;;;;;5756:9;5767:10;5731:12;:47::i;:::-;5714:7;5722:1;5726;5722:5;5714:14;;;;;;;;;;;;;;;;;:64;-1:-1:-1;;5581:3:0;;5544:246;;;;5189:608;;;;;;:::o;3246:625::-;3400:12;3426:14;3442;3460:26;3471:6;3479;3460:10;:26::i;:::-;3425:61;;;;3661:7;3722:6;3730;3705:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3695:43;;;;;;3765:12;3584:234;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3584:234:0;;;;;;;;;3552:285;;3584:234;3552:285;;;;;3246:625;-1:-1:-1;;;;;;;3246:625:0:o;8811:462::-;8982:17;9012:24;9039:69;9070:7;9079:8;9089:4;9095:12;9039:30;:69::i;:::-;9012:96;;9131:7;9156:1;9139:7;:14;:18;9131:27;;;;;;;;;;;;;;9119:39;;9190:12;9177:9;:25;;9169:61;;;;-1:-1:-1;;;9169:61:0;;;;;;;:::i;:::-;9241:24;9247:7;9256:4;9262:2;9241:5;:24::i;1606:141::-;1699:5;;;1694:16;;;;1686:53;;;;-1:-1:-1;;;1686:53:0;;;;;;;:::i;:::-;1606:141;;;;:::o;3929:484::-;4087:16;4105;4135:14;4155:26;4166:6;4174;4155:10;:26::i;:::-;4134:47;;;4193:16;4211;4248:46;4256:7;4265:6;4273;4281:12;4248:7;:46::i;:::-;-1:-1:-1;;;;;4233:74:0;;:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4192:117;-1:-1:-1;;;;;4192:117:0;;;-1:-1:-1;;;;;4192:117:0;;;4353:6;-1:-1:-1;;;;;4343:16:0;:6;-1:-1:-1;;;;;4343:16:0;;:62;;4386:8;4396;4343:62;;;4363:8;4373;4343:62;4320:85;;;;-1:-1:-1;3929:484:0;-1:-1:-1;;;;;;;;3929:484:0:o;4535:572::-;4671:17;4720:1;4709:8;:12;4701:68;;;;-1:-1:-1;;;4701:68:0;;;;;;;:::i;:::-;4800:1;4788:9;:13;:31;;;;;4818:1;4805:10;:14;4788:31;4780:84;;;;-1:-1:-1;;;4780:84:0;;;;;;;:::i;:::-;4875:23;4901:17;:8;4914:3;4901:12;:17::i;:::-;4875:43;-1:-1:-1;4929:17:0;4949:31;4875:43;4969:10;4949:19;:31::i;:::-;4929:51;-1:-1:-1;4991:19:0;5013:40;5037:15;5013:19;:9;5027:4;5013:13;:19::i;:::-;:23;;:40::i;:::-;4991:62;;5088:11;5076:9;:23;;;;;;;4535:572;-1:-1:-1;;;;;;;4535:572:0:o;2805:349::-;2880:14;2896;2941:6;-1:-1:-1;;;;;2931:16:0;:6;-1:-1:-1;;;;;2931:16:0;;;2923:66;;;;-1:-1:-1;;;2923:66:0;;;;;;;:::i;:::-;3028:6;-1:-1:-1;;;;;3019:15:0;:6;-1:-1:-1;;;;;3019:15:0;;:53;;3057:6;3065;3019:53;;;3038:6;3046;3019:53;3000:72;;-1:-1:-1;3000:72:0;-1:-1:-1;;;;;;3091:20:0;;3083:63;;;;-1:-1:-1;;;3083:63:0;;;;;;;:::i;:::-;2805:349;;;;;:::o;9361:787::-;9505:9;9500:641;9534:1;9520:4;:11;:15;9516:1;:19;9500:641;;;9558:13;9573:14;9592:4;9597:1;9592:7;;;;;;;;;;;;;;9601:4;9606:1;9610;9606:5;9601:11;;;;;;;;;;;;;;9557:56;;;;9629:14;9649:42;9677:5;9684:6;9649:27;:42::i;:::-;9628:63;;;9706:17;9726:7;9734:1;9738;9734:5;9726:14;;;;;;;;;;;;;;9706:34;;9756:18;9776;9807:6;-1:-1:-1;;;;;9798:15:0;:5;-1:-1:-1;;;;;9798:15:0;;:67;;9843:9;9862:1;9798:67;;;9825:1;9829:9;9798:67;9755:110;;;;9880:10;9911:1;9897:4;:11;:15;9893:1;:19;:96;;9986:3;9893:96;;;9915:68;9940:7;9949:6;9957:4;9962:1;9966;9962:5;9957:11;;;;;;;9915:68;9880:109;;10019:62;10044:7;10053:5;10060:6;10068:12;10019:24;:62::i;:::-;-1:-1:-1;;;;;10004:83:0;;10088:10;10100;10112:2;10126:1;10116:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10116:12:0;;10004:125;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9537:3:0;;;;;-1:-1:-1;9500:641:0;;-1:-1:-1;;;;;;;;9500:641:0;;;9361:787;;;:::o;1901:155::-;1959:9;1989:6;;;:30;;-1:-1:-1;;2004:5:0;;;2018:1;2013;2004:5;2013:1;1999:15;;;;;:20;1989:30;1981:67;;;;-1:-1:-1;;;1981:67:0;;;;;;;:::i;1239:671:-1:-;;;;;1424:2;1412:9;1403:7;1399:23;1395:32;1392:2;;;-1:-1;;1430:12;1392:2;612:6;599:20;624:45;663:5;624:45;:::i;:::-;1482:75;-1:-1;1622:2;1607:18;;1594:32;1646:18;1635:30;;;1632:2;;;-1:-1;;1668:12;1632:2;1769:6;1758:9;1754:22;;;290:3;283:4;275:6;271:17;267:27;257:2;;-1:-1;;298:12;257:2;341:6;328:20;1646:18;360:6;357:30;354:2;;;-1:-1;;390:12;354:2;485:3;1622:2;;469:6;465:17;426:6;451:32;;448:41;445:2;;;-1:-1;;492:12;445:2;1386:524;;1622:2;422:17;;;;;-1:-1;1688:98;;1823:2;1862:22;889:20;;-1:-1;1386:524;-1:-1;;;1386:524::o;1917:1169::-;;;;;;;;;2164:3;2152:9;2143:7;2139:23;2135:33;2132:2;;;-1:-1;;2171:12;2132:2;612:6;599:20;624:45;663:5;624:45;:::i;:::-;2223:75;-1:-1;2335:2;2386:22;;599:20;624:45;599:20;624:45;:::i;:::-;2343:75;-1:-1;2455:2;2494:22;;889:20;;-1:-1;2563:2;2602:22;;72:20;97:33;72:20;97:33;:::i;:::-;2571:63;-1:-1;2671:3;2711:22;;72:20;97:33;72:20;97:33;:::i;:::-;2680:63;-1:-1;2780:3;2820:22;;72:20;97:33;72:20;97:33;:::i;:::-;2126:960;;;;-1:-1;2126:960;;;;;;2789:63;;-1:-1;;;2889:3;2929:22;;889:20;;2998:3;3038:22;889:20;;2126:960::o;3093:533::-;;;;3241:2;3229:9;3220:7;3216:23;3212:32;3209:2;;;-1:-1;;3247:12;3209:2;765:6;759:13;777:33;804:5;777:33;:::i;:::-;3410:2;3460:22;;759:13;3299:74;;-1:-1;777:33;759:13;777:33;:::i;:::-;3529:2;3578:22;;1177:13;3418:74;;-1:-1;17631:10;17620:22;;19397:34;;19387:2;;-1:-1;;19435:12;19387:2;3537:73;;;;3203:423;;;;;:::o;3633:263::-;;3748:2;3736:9;3727:7;3723:23;3719:32;3716:2;;;-1:-1;;3754:12;3716:2;-1:-1;1037:13;;3710:186;-1:-1;3710:186::o;3903:399::-;;;4035:2;4023:9;4014:7;4010:23;4006:32;4003:2;;;-1:-1;;4041:12;4003:2;-1:-1;;1037:13;;4204:2;4254:22;;;1037:13;;;;;-1:-1;3997:305::o;8875:392::-;-1:-1;;18791:2;18787:14;;;;;4518:58;;18787:14;;;;;9128:2;9119:12;;4518:58;9230:12;;;9019:248::o;9274:798::-;-1:-1;;;;;;7231:87;;18791:2;18787:14;;;;-1:-1;;18787:14;7216:1;7337:11;;4518:58;9813:12;;;4788:58;;;;9924:12;;;4788:58;10035:12;;;9547:525::o;10079:708::-;-1:-1;;;;;17414:54;;;5291:62;;17414:54;;;10515:2;10500:18;;4380:37;17414:54;;;;10598:2;10583:18;;4380:37;10689:2;10674:18;;5444:58;;;;10772:3;10757:19;;4788:58;;;;10338:3;10323:19;;10309:478::o;11509:456::-;-1:-1;;;;;17414:54;;;;5291:62;;11874:2;11859:18;;4788:58;;;;17021:13;17014:21;11951:2;11936:18;;4653:34;11698:2;11683:18;;11669:296::o;11972:416::-;12172:2;12186:47;;;5739:2;12157:18;;;16463:19;5775:34;16503:14;;;5755:55;-1:-1;;;5830:12;;;5823:29;5871:12;;;12143:245::o;12395:416::-;12595:2;12609:47;;;6122:2;12580:18;;;16463:19;6158:32;16503:14;;;6138:53;6210:12;;;12566:245::o;12818:416::-;13018:2;13032:47;;;6461:2;13003:18;;;16463:19;6497:26;16503:14;;;6477:47;6543:12;;;12989:245::o;13241:416::-;13441:2;13455:47;;;6794:2;13426:18;;;16463:19;6830:34;16503:14;;;6810:55;-1:-1;;;6885:12;;;6878:32;6929:12;;;13412:245::o;13664:416::-;13864:2;13878:47;;;7587:2;13849:18;;;16463:19;7623:32;16503:14;;;7603:53;7675:12;;;13835:245::o;14087:416::-;14287:2;14301:47;;;7926:2;14272:18;;;16463:19;7962:34;16503:14;;;7942:55;-1:-1;;;8017:12;;;8010:35;8064:12;;;14258:245::o;14510:416::-;14710:2;14724:47;;;8315:2;14695:18;;;16463:19;8351:26;16503:14;;;8331:47;8397:12;;;14681:245::o;14933:416::-;15133:2;15147:47;;;8648:2;15118:18;;;16463:19;8684:25;16503:14;;;8664:46;8729:12;;;15104:245::o;15356:222::-;4788:58;;;15483:2;15468:18;;15454:124::o;15585:640::-;;4838:5;4795:3;4788:58;15979:2;4838:5;15979:2;15968:9;15964:18;4788:58;1646:18;;18787:14;;;16937:5;17414:54;16062:2;16051:9;16047:18;4380:37;15814:3;16099:2;16088:9;16084:18;16077:48;5000:5;16319:12;16475:6;15814:3;15803:9;15799:19;16463;-1:-1;18129:101;18143:6;18140:1;18137:13;18129:101;;;18210:11;;;;;18204:18;18191:11;;;16503:14;18191:11;18184:39;18158:10;;18129:101;;;18245:6;18242:1;18239:13;18236:2;;;-1:-1;16503:14;18301:6;15803:9;18292:16;;18285:27;18236:2;-1:-1;18696:7;18680:14;-1:-1;;18676:28;5157:39;;;;16503:14;5157:39;;15785:440;-1:-1;;;;;;15785:440::o;18819:117::-;-1:-1;;;;;17414:54;;18878:35;;18868:2;;18927:1;;18917:12;18868:2;18862:74;:::o;19091:117::-;-1:-1;;;;;19178:5;17298:42;19153:5;19150:35;19140:2;;19199:1;;19189:12
Swarm Source
ipfs://2fc27586e09cf7fcab62e34e8159a6f8d0a3846a72db7c5b2a4dd127d2b4b00d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.