Contract 0x732319A3590E4fA838C111826f9584a9A2fDEa1a 1

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0x0da422c5671c9600d243b08adac2e7db919c43f6a7d4e64139400a49546178e90x60a0604097773012021-12-08 6:03:19295 days 8 hrs ago0x3d1e1521b659b0c942836def24dd254abdeb873b IN  Create: StrategyStandardSaleForFixedPrice0 Ether0.00015878 1.00000001
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe28e7a191935dd4de8a38077022deadd9451eb42c1bfd5cb15b9be691cbb1bb6114648992022-09-29 13:04:031 hr 44 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xe28e7a191935dd4de8a38077022deadd9451eb42c1bfd5cb15b9be691cbb1bb6114648992022-09-29 13:04:031 hr 44 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x468ddb711cdf7e1e84f2f28ceec018728e9b5d94d12635d661c1fee202b952f8114646772022-09-29 12:07:412 hrs 41 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x468ddb711cdf7e1e84f2f28ceec018728e9b5d94d12635d661c1fee202b952f8114646772022-09-29 12:07:412 hrs 41 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x3ad8326c6b4ab92eb9d964d9ace7414c518eb5e4a7f13b6d81b8f16fadf8ead3114646632022-09-29 12:04:112 hrs 44 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x3ad8326c6b4ab92eb9d964d9ace7414c518eb5e4a7f13b6d81b8f16fadf8ead3114646632022-09-29 12:04:112 hrs 44 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xe9cbad5a1807845e22df8e0904d9a84833bd75ff42b0afe0648edf8f1cf902e2114646322022-09-29 11:56:242 hrs 52 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xe9cbad5a1807845e22df8e0904d9a84833bd75ff42b0afe0648edf8f1cf902e2114646322022-09-29 11:56:242 hrs 52 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x1b608005f1f0173b556a25b4f7768930893c69044fc211119b2d198086ce26a4114639182022-09-29 8:55:405 hrs 53 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x1b608005f1f0173b556a25b4f7768930893c69044fc211119b2d198086ce26a4114639182022-09-29 8:55:405 hrs 53 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xe4f7971de3fc4642cc3e5d4e42b00b91f12f1b0c7243635334037835bec6117d114638732022-09-29 8:44:216 hrs 4 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xe4f7971de3fc4642cc3e5d4e42b00b91f12f1b0c7243635334037835bec6117d114638732022-09-29 8:44:216 hrs 4 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x62ef31ec9e57bc03b80c3a7089766b2331da50c076c4dadbdc04defd71c65b8c114638252022-09-29 8:32:206 hrs 16 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x62ef31ec9e57bc03b80c3a7089766b2331da50c076c4dadbdc04defd71c65b8c114638252022-09-29 8:32:206 hrs 16 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x6c40c08b7d2923f5192d46e7411c017700a687c7f0124abafb24228744080784114634752022-09-29 7:03:237 hrs 45 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x6c40c08b7d2923f5192d46e7411c017700a687c7f0124abafb24228744080784114634752022-09-29 7:03:237 hrs 45 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x2fe1ced90356f092f6cc18aa7a8860964a672d6665ae4a8640b6d825a045119c114634562022-09-29 6:58:297 hrs 50 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x2fe1ced90356f092f6cc18aa7a8860964a672d6665ae4a8640b6d825a045119c114634562022-09-29 6:58:297 hrs 50 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xaaf070305f4b799fcabada8bbe6ec32595e54c09a9137309f4d0d84338babc11114634362022-09-29 6:53:297 hrs 55 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xaaf070305f4b799fcabada8bbe6ec32595e54c09a9137309f4d0d84338babc11114634362022-09-29 6:53:297 hrs 55 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x1c303be367707bf780f9b878b11596be022f8114fdd2419b92e21a274680d049114625192022-09-29 3:03:0011 hrs 46 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x1c303be367707bf780f9b878b11596be022f8114fdd2419b92e21a274680d049114625192022-09-29 3:03:0011 hrs 46 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xefe6a216823f1dcf3a0d1efd1832159586c248c24e847758295ad34613764750114611022022-09-28 21:05:3217 hrs 43 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0xefe6a216823f1dcf3a0d1efd1832159586c248c24e847758295ad34613764750114611022022-09-28 21:05:3217 hrs 43 mins ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
0x8814e451da27d442277f2356e0e87fd50b9c335e0285957ba16b0fbbb1062b7d114589522022-09-28 12:02:091 day 2 hrs ago 0x1aa777972073ff66dcfded85749bdd555c0665da 0x732319a3590e4fa838c111826f9584a9a2fdea1a0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StrategyStandardSaleForFixedPrice

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 888888 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-08-02
*/

// Sources flattened with hardhat v2.9.3 https://hardhat.org

// File contracts/libraries/OrderTypes.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/**
 * @title OrderTypes
 * @notice This library contains order types for the LooksRare exchange.
 */
library OrderTypes {
    // keccak256("MakerOrder(bool isOrderAsk,address signer,address collection,uint256 price,uint256 tokenId,uint256 amount,address strategy,address currency,uint256 nonce,uint256 startTime,uint256 endTime,uint256 minPercentageToAsk,bytes params)")
    bytes32 internal constant MAKER_ORDER_HASH = 0x40261ade532fa1d2c7293df30aaadb9b3c616fae525a0b56d3d411c841a85028;

    struct MakerOrder {
        bool isOrderAsk; // true --> ask / false --> bid
        address signer; // signer of the maker order
        address collection; // collection address
        uint256 price; // price (used as )
        uint256 tokenId; // id of the token
        uint256 amount; // amount of tokens to sell/purchase (must be 1 for ERC721, 1+ for ERC1155)
        address strategy; // strategy for trade execution (e.g., DutchAuction, StandardSaleForFixedPrice)
        address currency; // currency (e.g., WETH)
        uint256 nonce; // order nonce (must be unique unless new maker order is meant to override existing one e.g., lower ask price)
        uint256 startTime; // startTime in timestamp
        uint256 endTime; // endTime in timestamp
        uint256 minPercentageToAsk; // slippage protection (9000 --> 90% of the final price must return to ask)
        bytes params; // additional parameters
        uint8 v; // v: parameter (27 or 28)
        bytes32 r; // r: parameter
        bytes32 s; // s: parameter
    }

    struct TakerOrder {
        bool isOrderAsk; // true --> ask / false --> bid
        address taker; // msg.sender
        uint256 price; // final price for the purchase
        uint256 tokenId;
        uint256 minPercentageToAsk; // // slippage protection (9000 --> 90% of the final price must return to ask)
        bytes params; // other params (e.g., tokenId)
    }

    function hash(MakerOrder memory makerOrder) internal pure returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    MAKER_ORDER_HASH,
                    makerOrder.isOrderAsk,
                    makerOrder.signer,
                    makerOrder.collection,
                    makerOrder.price,
                    makerOrder.tokenId,
                    makerOrder.amount,
                    makerOrder.strategy,
                    makerOrder.currency,
                    makerOrder.nonce,
                    makerOrder.startTime,
                    makerOrder.endTime,
                    makerOrder.minPercentageToAsk,
                    keccak256(makerOrder.params)
                )
            );
    }
}


// File contracts/interfaces/IExecutionStrategy.sol

pragma solidity ^0.8.0;

interface IExecutionStrategy {
    function canExecuteTakerAsk(OrderTypes.TakerOrder calldata takerAsk, OrderTypes.MakerOrder calldata makerBid)
        external
        view
        returns (
            bool,
            uint256,
            uint256
        );

    function canExecuteTakerBid(OrderTypes.TakerOrder calldata takerBid, OrderTypes.MakerOrder calldata makerAsk)
        external
        view
        returns (
            bool,
            uint256,
            uint256
        );

    function viewProtocolFee() external view returns (uint256);
}


// File contracts/executionStrategies/StrategyStandardSaleForFixedPrice.sol

pragma solidity ^0.8.0;


/**
 * @title StrategyStandardSaleForFixedPrice
 * @notice Strategy that executes an order at a fixed price that
 * can be taken either by a bid or an ask.
 */
contract StrategyStandardSaleForFixedPrice is IExecutionStrategy {
    uint256 public immutable PROTOCOL_FEE;

    /**
     * @notice Constructor
     * @param _protocolFee protocol fee (200 --> 2%, 400 --> 4%)
     */
    constructor(uint256 _protocolFee) {
        PROTOCOL_FEE = _protocolFee;
    }

    /**
     * @notice Check whether a taker ask order can be executed against a maker bid
     * @param takerAsk taker ask order
     * @param makerBid maker bid order
     * @return (whether strategy can be executed, tokenId to execute, amount of tokens to execute)
     */
    function canExecuteTakerAsk(OrderTypes.TakerOrder calldata takerAsk, OrderTypes.MakerOrder calldata makerBid)
        external
        view
        override
        returns (
            bool,
            uint256,
            uint256
        )
    {
        return (
            ((makerBid.price == takerAsk.price) &&
                (makerBid.tokenId == takerAsk.tokenId) &&
                (makerBid.startTime <= block.timestamp) &&
                (makerBid.endTime >= block.timestamp)),
            makerBid.tokenId,
            makerBid.amount
        );
    }

    /**
     * @notice Check whether a taker bid order can be executed against a maker ask
     * @param takerBid taker bid order
     * @param makerAsk maker ask order
     * @return (whether strategy can be executed, tokenId to execute, amount of tokens to execute)
     */
    function canExecuteTakerBid(OrderTypes.TakerOrder calldata takerBid, OrderTypes.MakerOrder calldata makerAsk)
        external
        view
        override
        returns (
            bool,
            uint256,
            uint256
        )
    {
        return (
            ((makerAsk.price == takerBid.price) &&
                (makerAsk.tokenId == takerBid.tokenId) &&
                (makerAsk.startTime <= block.timestamp) &&
                (makerAsk.endTime >= block.timestamp)),
            makerAsk.tokenId,
            makerAsk.amount
        );
    }

    /**
     * @notice Return protocol fee for this strategy
     * @return protocol fee
     */
    function viewProtocolFee() external view override returns (uint256) {
        return PROTOCOL_FEE;
    }
}

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_protocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"PROTOCOL_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"isOrderAsk","type":"bool"},{"internalType":"address","name":"taker","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"minPercentageToAsk","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"internalType":"struct OrderTypes.TakerOrder","name":"takerAsk","type":"tuple"},{"components":[{"internalType":"bool","name":"isOrderAsk","type":"bool"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"minPercentageToAsk","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct OrderTypes.MakerOrder","name":"makerBid","type":"tuple"}],"name":"canExecuteTakerAsk","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bool","name":"isOrderAsk","type":"bool"},{"internalType":"address","name":"taker","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"minPercentageToAsk","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"internalType":"struct OrderTypes.TakerOrder","name":"takerBid","type":"tuple"},{"components":[{"internalType":"bool","name":"isOrderAsk","type":"bool"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"minPercentageToAsk","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct OrderTypes.MakerOrder","name":"makerAsk","type":"tuple"}],"name":"canExecuteTakerBid","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b5060405161025538038061025583398101604081905261002f91610037565b608052610050565b60006020828403121561004957600080fd5b5051919050565b6080516101e5610070600039600081816056015260bd01526101e56000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630b4501fd14610051578063865781ca1461008b5780639dd1cda6146100bb578063ad2390ac1461008b575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61009e61009936600461013b565b6100e1565b604080519315158452602084019290925290820152606001610082565b7f0000000000000000000000000000000000000000000000000000000000000000610078565b600080600084604001358460600135148015610104575084606001358460800135145b801561011557504284610120013511155b801561012657504284610140013510155b92505050608082013560a08301359250925092565b6000806040838503121561014e57600080fd5b823567ffffffffffffffff8082111561016657600080fd5b9084019060c0828703121561017a57600080fd5b9092506020840135908082111561019057600080fd5b50830161020081860312156101a457600080fd5b80915050925092905056fea2646970667358221220eba1ba46322d397db1427383141a64171bbd299f89d6d40e78de77481333a78264736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000c8

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000c8

-----Decoded View---------------
Arg [0] : _protocolFee (uint256): 200

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c8


Deployed ByteCode Sourcemap

3854:2274:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3926:37;;;;;;;;1174:25:1;;;1162:2;1147:18;3926:37:0;;;;;;;;5327:583;;;;;;:::i;:::-;;:::i;:::-;;;;915:14:1;;908:22;890:41;;962:2;947:18;;940:34;;;;990:18;;;983:34;878:2;863:18;5327:583:0;694:329:1;6019:106:0;6105:12;6019:106;;5327:583;5519:4;5538:7;5560;5637:8;:14;;;5619:8;:14;;;:32;5618:93;;;;;5694:8;:16;;;5674:8;:16;;;:36;5618:93;:153;;;;;5755:15;5733:8;:18;;;:37;;5618:153;:211;;;;;5813:15;5793:8;:16;;;:35;;5618:211;5595:307;-1:-1:-1;;;5845:16:0;;;;5876:15;;;;5327:583;;;;;:::o;14:675:1:-;138:6;146;199:2;187:9;178:7;174:23;170:32;167:52;;;215:1;212;205:12;167:52;255:9;242:23;284:18;325:2;317:6;314:14;311:34;;;341:1;338;331:12;311:34;364:22;;;;420:3;402:16;;;398:26;395:46;;;437:1;434;427:12;395:46;460:2;;-1:-1:-1;515:2:1;500:18;;487:32;;531:16;;;528:36;;;560:1;557;550:12;528:36;-1:-1:-1;583:24:1;;641:3;623:16;;;619:26;616:46;;;658:1;655;648:12;616:46;681:2;671:12;;;14:675;;;;;:::o

Swarm Source

ipfs://eba1ba46322d397db1427383141a64171bbd299f89d6d40e78de77481333a782
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
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.