Source Code
Overview
ETH Balance
0 ETH
Token Holdings
More Info
ContractCreator
Multichain Info
N/A
Latest 24 from a total of 24 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Execute | 9027091 | 315 days ago | IN | 0 ETH | 0.01001958 | ||||
Execute | 9027080 | 315 days ago | IN | 0 ETH | 0.01637984 | ||||
Execute | 9025915 | 315 days ago | IN | 0 ETH | 0.00010355 | ||||
Execute | 9025910 | 315 days ago | IN | 0 ETH | 0.00009969 | ||||
Execute | 9025893 | 315 days ago | IN | 0 ETH | 0.00008383 | ||||
Execute | 9025891 | 315 days ago | IN | 0 ETH | 0.00007923 | ||||
Execute | 8943225 | 329 days ago | IN | 0 ETH | 0.01084055 | ||||
Execute | 8943218 | 329 days ago | IN | 0 ETH | 0.01113795 | ||||
Execute | 8943200 | 329 days ago | IN | 0 ETH | 0.01172771 | ||||
Execute | 8925591 | 332 days ago | IN | 0 ETH | 0.00025544 | ||||
Execute | 8925515 | 332 days ago | IN | 0 ETH | 0.00005649 | ||||
Execute | 8925511 | 332 days ago | IN | 0 ETH | 0.00005463 | ||||
Execute | 8925508 | 332 days ago | IN | 0 ETH | 0.00005212 | ||||
Execute | 8925475 | 332 days ago | IN | 0 ETH | 0.0000476 | ||||
Execute | 8925472 | 332 days ago | IN | 0 ETH | 0.00004799 | ||||
Execute | 8776438 | 359 days ago | IN | 0 ETH | 0.01085811 | ||||
Execute | 8775896 | 359 days ago | IN | 0 ETH | 0.00610918 | ||||
Execute | 8775868 | 359 days ago | IN | 0 ETH | 0.00588556 | ||||
Execute | 8775830 | 359 days ago | IN | 0 ETH | 0.0051582 | ||||
Execute | 8775792 | 359 days ago | IN | 0 ETH | 0.00348481 | ||||
Execute | 8775736 | 359 days ago | IN | 0 ETH | 0.00481222 | ||||
Execute | 8744777 | 364 days ago | IN | 0 ETH | 0.0584252 | ||||
Execute | 8744754 | 364 days ago | IN | 0 ETH | 0.0320416 | ||||
Execute | 8744707 | 364 days ago | IN | 0 ETH | 0.05336772 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
9027091 | 315 days ago | 0 ETH | ||||
9027091 | 315 days ago | 0 ETH | ||||
9027080 | 315 days ago | 0 ETH | ||||
9027080 | 315 days ago | 0 ETH | ||||
9025915 | 315 days ago | 0 ETH | ||||
9025910 | 315 days ago | 0 ETH | ||||
9025893 | 315 days ago | 0 ETH | ||||
9025891 | 315 days ago | 0 ETH | ||||
8943225 | 329 days ago | 0 ETH | ||||
8943225 | 329 days ago | 0 ETH | ||||
8943218 | 329 days ago | 0 ETH | ||||
8943218 | 329 days ago | 0 ETH | ||||
8943200 | 329 days ago | 0 ETH | ||||
8943200 | 329 days ago | 0 ETH | ||||
8925591 | 332 days ago | 0 ETH | ||||
8925591 | 332 days ago | 0 ETH | ||||
8925515 | 332 days ago | 0 ETH | ||||
8925511 | 332 days ago | 0 ETH | ||||
8925508 | 332 days ago | 0 ETH | ||||
8925475 | 332 days ago | 0 ETH | ||||
8925472 | 332 days ago | 0 ETH | ||||
8776438 | 359 days ago | 0 ETH | ||||
8776438 | 359 days ago | 0 ETH | ||||
8775896 | 359 days ago | 0 ETH | ||||
8775896 | 359 days ago | 0 ETH |
Loading...
Loading
Contract Name:
ERC20EnabledLooksRareAggregator
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 888888 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; import {LowLevelERC20Transfer} from "@looksrare/contracts-libs/contracts/lowLevelCallers/LowLevelERC20Transfer.sol"; import {IERC20EnabledLooksRareAggregator} from "./interfaces/IERC20EnabledLooksRareAggregator.sol"; import {ILooksRareAggregator} from "./interfaces/ILooksRareAggregator.sol"; import {TokenTransfer} from "./libraries/OrderStructs.sol"; /** * @title ERC20EnabledLooksRareAggregator * @notice This contract allows NFT sweepers to buy NFTs from * different marketplaces using ERC20 tokens by passing * high-level structs + low-level bytes as calldata. * @author LooksRare protocol team (👀,💎) */ contract ERC20EnabledLooksRareAggregator is IERC20EnabledLooksRareAggregator, LowLevelERC20Transfer { ILooksRareAggregator public immutable aggregator; /** * @param _aggregator LooksRareAggregator's address */ constructor(address _aggregator) { aggregator = ILooksRareAggregator(_aggregator); } /** * @inheritdoc IERC20EnabledLooksRareAggregator */ function execute( TokenTransfer[] calldata tokenTransfers, ILooksRareAggregator.TradeData[] calldata tradeData, address recipient, bool isAtomic ) external payable { if (tokenTransfers.length == 0) { revert UseLooksRareAggregatorDirectly(); } _pullERC20Tokens(tokenTransfers, msg.sender); aggregator.execute{value: msg.value}(tokenTransfers, tradeData, msg.sender, recipient, isAtomic); } function _pullERC20Tokens(TokenTransfer[] calldata tokenTransfers, address source) private { uint256 tokenTransfersLength = tokenTransfers.length; for (uint256 i; i < tokenTransfersLength; ) { _executeERC20TransferFrom( tokenTransfers[i].currency, source, address(aggregator), tokenTransfers[i].amount ); unchecked { ++i; } } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; // Interfaces import {IERC20} from "../interfaces/generic/IERC20.sol"; // Errors import {ERC20TransferFail, ERC20TransferFromFail} from "../errors/LowLevelErrors.sol"; import {NotAContract} from "../errors/GenericErrors.sol"; /** * @title LowLevelERC20Transfer * @notice This contract contains low-level calls to transfer ERC20 tokens. * @author LooksRare protocol team (👀,💎) */ contract LowLevelERC20Transfer { /** * @notice Execute ERC20 transferFrom * @param currency Currency address * @param from Sender address * @param to Recipient address * @param amount Amount to transfer */ function _executeERC20TransferFrom(address currency, address from, address to, uint256 amount) internal { if (currency.code.length == 0) { revert NotAContract(); } (bool status, bytes memory data) = currency.call(abi.encodeCall(IERC20.transferFrom, (from, to, amount))); if (!status) { revert ERC20TransferFromFail(); } if (data.length > 0) { if (!abi.decode(data, (bool))) { revert ERC20TransferFromFail(); } } } /** * @notice Execute ERC20 (direct) transfer * @param currency Currency address * @param to Recipient address * @param amount Amount to transfer */ function _executeERC20DirectTransfer(address currency, address to, uint256 amount) internal { if (currency.code.length == 0) { revert NotAContract(); } (bool status, bytes memory data) = currency.call(abi.encodeCall(IERC20.transfer, (to, amount))); if (!status) { revert ERC20TransferFail(); } if (data.length > 0) { if (!abi.decode(data, (bool))) { revert ERC20TransferFail(); } } } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; import {TokenTransfer} from "../libraries/OrderStructs.sol"; import {ILooksRareAggregator} from "./ILooksRareAggregator.sol"; interface IERC20EnabledLooksRareAggregator { /** * @notice Execute NFT sweeps in different marketplaces * in a single transaction * @param tokenTransfers Aggregated ERC20 token transfers for all markets * @param tradeData Data object to be passed downstream to * each marketplace's proxy for execution * @param recipient The address to receive the purchased NFTs * @param isAtomic Flag to enable atomic trades (all or nothing) * or partial trades */ function execute( TokenTransfer[] calldata tokenTransfers, ILooksRareAggregator.TradeData[] calldata tradeData, address recipient, bool isAtomic ) external payable; error UseLooksRareAggregatorDirectly(); }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; import {BasicOrder, TokenTransfer} from "../libraries/OrderStructs.sol"; interface ILooksRareAggregator { /** * @param proxy The marketplace proxy's address * @param selector The marketplace proxy's function selector * @param orders Orders to be executed by the marketplace * @param ordersExtraData Extra data for each order, specific for each marketplace * @param extraData Extra data specific for each marketplace */ struct TradeData { address proxy; bytes4 selector; BasicOrder[] orders; bytes[] ordersExtraData; bytes extraData; } /** * @notice Execute NFT sweeps in different marketplaces in a * single transaction * @param tokenTransfers Aggregated ERC20 token transfers for all markets * @param tradeData Data object to be passed downstream to each * marketplace's proxy for execution * @param originator The address that originated the transaction, * hard coded as msg.sender if it is called directly * @param recipient The address to receive the purchased NFTs * @param isAtomic Flag to enable atomic trades (all or nothing) * or partial trades */ function execute( TokenTransfer[] calldata tokenTransfers, TradeData[] calldata tradeData, address originator, address recipient, bool isAtomic ) external payable; /** * @notice Emitted when a marketplace proxy's function is enabled. * @param proxy The marketplace proxy's address * @param selector The marketplace proxy's function selector */ event FunctionAdded(address proxy, bytes4 selector); /** * @notice Emitted when a marketplace proxy's function is disabled. * @param proxy The marketplace proxy's address * @param selector The marketplace proxy's function selector */ event FunctionRemoved(address proxy, bytes4 selector); /** * @notice Emitted when execute is complete * @param sweeper The address that submitted the transaction */ event Sweep(address sweeper); error AlreadySet(); error ETHTransferFail(); error InvalidFunction(); error UseERC20EnabledLooksRareAggregator(); }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; import {CollectionType} from "./OrderEnums.sol"; /** * @param signer The order's maker * @param collection The address of the ERC721/ERC1155 token to be purchased * @param collectionType 0 for ERC721, 1 for ERC1155 * @param tokenIds The IDs of the tokens to be purchased * @param amounts Always 1 when ERC721, can be > 1 if ERC1155 * @param price The *taker bid* price to pay for the order * @param currency The order's currency, address(0) for ETH * @param startTime The timestamp when the order starts becoming valid * @param endTime The timestamp when the order stops becoming valid * @param signature split to v,r,s for LooksRare */ struct BasicOrder { address signer; address collection; CollectionType collectionType; uint256[] tokenIds; uint256[] amounts; uint256 price; address currency; uint256 startTime; uint256 endTime; bytes signature; } /** * @param amount ERC20 transfer amount * @param currency ERC20 transfer currency */ struct TokenTransfer { uint256 amount; address currency; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; /** * @notice It is emitted if the ETH transfer fails. */ error ETHTransferFail(); /** * @notice It is emitted if the ERC20 approval fails. */ error ERC20ApprovalFail(); /** * @notice It is emitted if the ERC20 transfer fails. */ error ERC20TransferFail(); /** * @notice It is emitted if the ERC20 transferFrom fails. */ error ERC20TransferFromFail(); /** * @notice It is emitted if the ERC721 transferFrom fails. */ error ERC721TransferFromFail(); /** * @notice It is emitted if the ERC1155 safeTransferFrom fails. */ error ERC1155SafeTransferFromFail(); /** * @notice It is emitted if the ERC1155 safeBatchTransferFrom fails. */ error ERC1155SafeBatchTransferFromFail();
// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; /** * @notice It is emitted if the call recipient is not a contract. */ error NotAContract();
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; enum CollectionType { ERC721, ERC1155 }
{ "optimizer": { "enabled": true, "runs": 888888 }, "viaIR": true, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ERC20TransferFromFail","type":"error"},{"inputs":[],"name":"NotAContract","type":"error"},{"inputs":[],"name":"UseLooksRareAggregatorDirectly","type":"error"},{"inputs":[],"name":"aggregator","outputs":[{"internalType":"contract ILooksRareAggregator","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"internalType":"struct TokenTransfer[]","name":"tokenTransfers","type":"tuple[]"},{"components":[{"internalType":"address","name":"proxy","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"components":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"enum CollectionType","name":"collectionType","type":"uint8"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BasicOrder[]","name":"orders","type":"tuple[]"},{"internalType":"bytes[]","name":"ordersExtraData","type":"bytes[]"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct ILooksRareAggregator.TradeData[]","name":"tradeData","type":"tuple[]"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"isAtomic","type":"bool"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
60a03461008157601f610c4838819003918201601f19168301916001600160401b038311848410176100865780849260209460405283398101031261008157516001600160a01b0381169081900361008157608052604051610bab908161009d8239608051818181610153015281816102780152818161078901526109cd0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c908163245a7bfc1461098357506349e708dd1461003757600080fd5b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109805767ffffffffffffffff60043511610980573660236004350112156109805767ffffffffffffffff6004356004013511610980573660246004356004013560061b6004350101116109805767ffffffffffffffff60243511610980573660236024350112156109805767ffffffffffffffff60243560040135116109805736602480356004013560051b81350101116109805760443573ffffffffffffffffffffffffffffffffffffffff8116810361097c576064359081151582036106e857600435600401351561095257825b6004356004013581106106ec575073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163b156106e8579190604051907f12abee1200000000000000000000000000000000000000000000000000000000825260a060048301526004356004013560a483015260c4820193602460043501845b6004356004013581106106a75750507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8386030160248401526024356004013585526020850160206024356004013560051b8701019560248035019186905b6024356004013582106102f55787878181808d8b73ffffffffffffffffffffffffffffffffffffffff8c3360448601521660648401521515608483015203813473ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af180156102ea576102a8575080f35b67ffffffffffffffff81116102bd5760405280f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6040513d84823e3d90fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838a97969597030181527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3d602435360301863512156106a35773ffffffffffffffffffffffffffffffffffffffff61037460248035893501016109f1565b168952604460243587350101357fffffffff000000000000000000000000000000000000000000000000000000008116810361069f577fffffffff000000000000000000000000000000000000000000000000000000001660208a01526103ea6064602435883501016024803589350101610a17565b60a060408c939c01528060a083015260c082019a60c08260051b8401019b81928c5b8181106104fc575050505050610431608460243589350101602480358a350101610a17565b9a82810360608401528b81526020810160208d60051b8301019c838d5b8281106104a6575050505050506020806104918b9c6001946104838c9d9e9d602460a481358335010191813590350101610aa7565b916080818503910152610af7565b98019201920191909394959850969596610221565b90919293949e8f8682037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00186526104de9084610aa7565b6104e89291610af7565b9e602090810195940192919060010161044e565b909192939d8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408783030185527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1863603019035121561069b5760028f868173ffffffffffffffffffffffffffffffffffffffff61057e8360409535016109f1565b16855273ffffffffffffffffffffffffffffffffffffffff6105a5602084843501016109f1565b16602086015235010135101561069b578e9085823501604001356040820152606080878435010187843501906105da91610a17565b6101409284018390526105ef92840191610a6a565b610600833588016080810190610a17565b83830360808501526106129291610a6a565b908683350160a0013560a08201528683350160c001610630906109f1565b73ffffffffffffffffffffffffffffffffffffffff1660c08201529135860160e08181013590840152610100808201359084015261012092906106769084810190610aa7565b91909381840391015261068892610af7565b9d6020908101949301919060010161040c565b8d80fd5b8880fd5b8780fd5b9093949560408060019287358152602073ffffffffffffffffffffffffffffffffffffffff6106d7828b016109f1565b1690820152019796950191016101c2565b8280fd5b60206107048260043560040135602460043501610b36565b013573ffffffffffffffffffffffffffffffffffffffff811681036108c2576107398260043560040135602460043501610b36565b3590803b1561092857604051917f23b872dd00000000000000000000000000000000000000000000000000000000602084015233602484015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660448401526064830152606482528160a081011067ffffffffffffffff60a0840111176108f3578186929160a084930160405282602083519301915af13d15610920573d9067ffffffffffffffff82116108f357604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe067ffffffffffffffff601f83018216603f0182168501908111908511176108c657601f82018116603f0116830160405282523d86602084013e5b1561089857805180610873575b505060010161012e565b81602091810103126108c257602001518015908115036108c257610898573880610869565b60046040517fe5605213000000000000000000000000000000000000000000000000000000008152fd5b8480fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60609061085c565b60046040517f09ee12d5000000000000000000000000000000000000000000000000000000008152fd5b60046040517fdbb6f8d9000000000000000000000000000000000000000000000000000000008152fd5b5080fd5b80fd5b90503461097c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261097c5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b359073ffffffffffffffffffffffffffffffffffffffff82168203610a1257565b600080fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215610a1257016020813591019167ffffffffffffffff8211610a12578160051b36038313610a1257565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311610a125760209260051b809284830137010190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215610a1257016020813591019167ffffffffffffffff8211610a12578136038313610a1257565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9190811015610b465760061b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea264697066735822122083f44e99e8658c5e7feb5277e594e2cfeba41fbae39e55fad9930f55d13fdecb64736f6c6343000811003300000000000000000000000000000000005228b791a99a61f36a130d50600106
Deployed Bytecode
0x608080604052600436101561001357600080fd5b600090813560e01c908163245a7bfc1461098357506349e708dd1461003757600080fd5b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109805767ffffffffffffffff60043511610980573660236004350112156109805767ffffffffffffffff6004356004013511610980573660246004356004013560061b6004350101116109805767ffffffffffffffff60243511610980573660236024350112156109805767ffffffffffffffff60243560040135116109805736602480356004013560051b81350101116109805760443573ffffffffffffffffffffffffffffffffffffffff8116810361097c576064359081151582036106e857600435600401351561095257825b6004356004013581106106ec575073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000005228b791a99a61f36a130d50600106163b156106e8579190604051907f12abee1200000000000000000000000000000000000000000000000000000000825260a060048301526004356004013560a483015260c4820193602460043501845b6004356004013581106106a75750507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8386030160248401526024356004013585526020850160206024356004013560051b8701019560248035019186905b6024356004013582106102f55787878181808d8b73ffffffffffffffffffffffffffffffffffffffff8c3360448601521660648401521515608483015203813473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000005228b791a99a61f36a130d50600106165af180156102ea576102a8575080f35b67ffffffffffffffff81116102bd5760405280f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6040513d84823e3d90fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838a97969597030181527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3d602435360301863512156106a35773ffffffffffffffffffffffffffffffffffffffff61037460248035893501016109f1565b168952604460243587350101357fffffffff000000000000000000000000000000000000000000000000000000008116810361069f577fffffffff000000000000000000000000000000000000000000000000000000001660208a01526103ea6064602435883501016024803589350101610a17565b60a060408c939c01528060a083015260c082019a60c08260051b8401019b81928c5b8181106104fc575050505050610431608460243589350101602480358a350101610a17565b9a82810360608401528b81526020810160208d60051b8301019c838d5b8281106104a6575050505050506020806104918b9c6001946104838c9d9e9d602460a481358335010191813590350101610aa7565b916080818503910152610af7565b98019201920191909394959850969596610221565b90919293949e8f8682037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00186526104de9084610aa7565b6104e89291610af7565b9e602090810195940192919060010161044e565b909192939d8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408783030185527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1863603019035121561069b5760028f868173ffffffffffffffffffffffffffffffffffffffff61057e8360409535016109f1565b16855273ffffffffffffffffffffffffffffffffffffffff6105a5602084843501016109f1565b16602086015235010135101561069b578e9085823501604001356040820152606080878435010187843501906105da91610a17565b6101409284018390526105ef92840191610a6a565b610600833588016080810190610a17565b83830360808501526106129291610a6a565b908683350160a0013560a08201528683350160c001610630906109f1565b73ffffffffffffffffffffffffffffffffffffffff1660c08201529135860160e08181013590840152610100808201359084015261012092906106769084810190610aa7565b91909381840391015261068892610af7565b9d6020908101949301919060010161040c565b8d80fd5b8880fd5b8780fd5b9093949560408060019287358152602073ffffffffffffffffffffffffffffffffffffffff6106d7828b016109f1565b1690820152019796950191016101c2565b8280fd5b60206107048260043560040135602460043501610b36565b013573ffffffffffffffffffffffffffffffffffffffff811681036108c2576107398260043560040135602460043501610b36565b3590803b1561092857604051917f23b872dd00000000000000000000000000000000000000000000000000000000602084015233602484015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000005228b791a99a61f36a130d506001061660448401526064830152606482528160a081011067ffffffffffffffff60a0840111176108f3578186929160a084930160405282602083519301915af13d15610920573d9067ffffffffffffffff82116108f357604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe067ffffffffffffffff601f83018216603f0182168501908111908511176108c657601f82018116603f0116830160405282523d86602084013e5b1561089857805180610873575b505060010161012e565b81602091810103126108c257602001518015908115036108c257610898573880610869565b60046040517fe5605213000000000000000000000000000000000000000000000000000000008152fd5b8480fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60609061085c565b60046040517f09ee12d5000000000000000000000000000000000000000000000000000000008152fd5b60046040517fdbb6f8d9000000000000000000000000000000000000000000000000000000008152fd5b5080fd5b80fd5b90503461097c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261097c5760209073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000005228b791a99a61f36a130d50600106168152f35b359073ffffffffffffffffffffffffffffffffffffffff82168203610a1257565b600080fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215610a1257016020813591019167ffffffffffffffff8211610a12578160051b36038313610a1257565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311610a125760209260051b809284830137010190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215610a1257016020813591019167ffffffffffffffff8211610a12578136038313610a1257565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9190811015610b465760061b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea264697066735822122083f44e99e8658c5e7feb5277e594e2cfeba41fbae39e55fad9930f55d13fdecb64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000005228b791a99a61f36a130d50600106
-----Decoded View---------------
Arg [0] : _aggregator (address): 0x00000000005228B791a99a61f36A130d50600106
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000005228b791a99a61f36a130d50600106
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.