Latest 19 txns

TxHash Age From To Value [TxFee]
0x9ee9c028f90b9f4ccbd3a2ffc8d45844b834e96305075ccbaf8afefedd3edf7011 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000999785
0xbcd71a9e0dada86c0db280f0be35dbd99acb9676110599df48b69dc68410ad3611 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000924632
0x60e58a5663b9d41a1e81550d89219187f87f698fb1b3de362a9e723967fb964a11 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000086108
0xf475451e5808ae7093044b5bf85d6dcd7263ade5d5e22c46db49ce672cb291ea11 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000024417
0xcf78bf5df27a57a8ca3d7d8c18908fc08b770016f91bb0c1ffbe6c9f3b10913e11 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000032108
0x2d2940f0bf86fea8702a327aea1135e2f1114d39a54049066c3b9cb0e789ee6d11 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000032108
0xc724964d1bf744da8bb28f40b0cdc1a961a14603b3f1aaf08e817033a8fbbc8a11 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000046508
0x6811ae8c52728dae2afa5643002ed767be4adecc1e2c10c0c51631401aa5b21d11 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000085596
0x2bffe8f084e61c26f50f1513d2dd2d7e4ac852e76b2e1d7195f272eaaf74b1b611 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000023952
0x8c6236a7296636deea9234ecfe66630dd9a0785d9c9c5034b4cee4da8d386ab611 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000026496
0x396807bc43da0d3c9403a6a1f9dfb2b1e837be5fc3663f87dc592dd2d7d6653311 days 5 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000033552
0x2b9744a38614de0f6a14b2305915a0aca992ee4656a232988579f45e225898db11 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000026496
0x0d805e9f0cac007d1e668a0281fbef448954d781857a0d6a04de52adfe2af81e11 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000043305
0xd3aae34cbb4a86feaaa2105f490eebd261ef880ed4d6b292549066b0a7eaac5311 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000043327
0x8f72d996acf72cb3a405d15723f71da7ab004800eed608cbabe2314b739c3d7611 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000042293
0xcc977d370b2c1b465a0b9f52f7c2403dabbfc3b4efb15e1a6ca372e6a9f73c4811 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000022203
0x8a876f63a598ac0f0965c453266bef01c34035b4e89bf01e52239f8051c60d2811 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000042216
0x0de8466ece8d6ba0ecec6fd48e8c8fb8a864fcd1cfe039e34452e1aeab55236111 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN   0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0 Ether0.000083736
0x01165eab52d9669891a7ab240239bc938f0e222fd989495ebb5e36aa2e7b8c7111 days 6 hrs ago0x225bea75d0b4c0686597097d28d81db86b42ee78  IN    Contract Creation0 Ether0.000812217
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0x8c6236a7296636deea9234ecfe66630dd9a0785d9c9c5034b4cee4da8d386ab6480826011 days 5 hrs ago0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0xa6e4b95a0d1be10e886317fe711a4515544c578a0 Ether
0x2b9744a38614de0f6a14b2305915a0aca992ee4656a232988579f45e225898db480821911 days 6 hrs ago0xc64d42c9e01680fc28d61da74dc4a1c5667c2d2c0xa6e4b95a0d1be10e886317fe711a4515544c578a0 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: BatchRequester
Compiler Text: v0.5.2+commit.1df8f40c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.5.0;


contract DebtEngine {
}


contract LoanManager {
    function debtEngine() external view returns (DebtEngine);
    
    function requestLoan(uint128 _amount, address _model, address _oracle, address _borrower, uint256 _salt, uint64 _expiration, bytes calldata _loanData) external returns (bytes32 id);
}


contract ERC165 {
    bytes4 private constant _InterfaceId_ERC165 = 0x01ffc9a7;
    /**
    * 0x01ffc9a7 ===
    *   bytes4(keccak256('supportsInterface(bytes4)'))
    */

    /**
    * @dev a mapping of interface id to whether or not it's supported
    */
    mapping(bytes4 => bool) private _supportedInterfaces;

    /**
    * @dev A contract implementing SupportsInterfaceWithLookup
    * implement ERC165 itself
    */
    constructor()
        internal
    {
        _registerInterface(_InterfaceId_ERC165);
    }

    /**
    * @dev implement supportsInterface(bytes4) using a lookup table
    */
    function supportsInterface(bytes4 interfaceId)
        external
        view
        returns (bool)
    {
        return _supportedInterfaces[interfaceId];
    }

    /**
    * @dev internal method for registering an interface
    */
    function _registerInterface(bytes4 interfaceId)
        internal
    {
        require(interfaceId != 0xffffffff, "Can't register 0xffffffff");
        _supportedInterfaces[interfaceId] = true;
    }
}


interface IERC721Base {
    function assetsOf(address _owner) external view returns (uint256[] memory);
    function totalSupply() external view returns (uint256);
    function tokenByIndex(uint256 _index) external view returns (uint256);
    function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256);
    function ownerOf(uint256 _assetId) external view returns (address);
    function balanceOf(address _owner) external view returns (uint256);
    function isApprovedForAll(address _operator, address _assetHolder) external view returns (bool);
    function isAuthorized(address _operator, uint256 _assetId) external view returns (bool);

    function setApprovalForAll(address _operator, bool _authorized) external;
    function approve(address _operator, uint256 _assetId) external;
    function safeTransferFrom(address _from, address _to, uint256 _assetId) external;
    function safeTransferFrom(address _from, address _to, uint256 _assetId, bytes calldata _userData) external;
    function transferFrom(address _from, address _to, uint256 _assetId) external;
}


/**
    A contract implementing LoanApprover is able to approve loan requests using callbacks,
    to approve a loan the contract should respond the callbacks the result of
    one designated value XOR keccak256("approve-loan-request")

    keccak256("approve-loan-request"): 0xdfcb15a077f54a681c23131eacdfd6e12b5e099685b492d382c3fd8bfc1e9a2a

    To receive calls on the callbacks, the contract should also implement the following ERC165 interfaces:

    approveRequest: 0x76ba6009
    settleApproveRequest: 0xcd40239e
    LoanApprover: 0xbbfa4397
*/
contract LoanApprover {
    /**
        Request the approve of a loan created using requestLoan, if the borrower is this contract,
        to approve the request the contract should return:

        _futureDebt XOR 0xdfcb15a077f54a681c23131eacdfd6e12b5e099685b492d382c3fd8bfc1e9a2a

        @param _futureDebt ID of the loan to approve

        @return _futureDebt XOR keccak256("approve-loan-request"), if the approve is accepted
    */
    function approveRequest(bytes32 _futureDebt) external returns (bytes32);

    /**
        Request the approve of a loan being settled, the contract can be called as borrower or creator.
        To approve the request the contract should return:

        _id XOR 0xdfcb15a077f54a681c23131eacdfd6e12b5e099685b492d382c3fd8bfc1e9a2a

        @param _requestData All the parameters of the loan request
        @param _loanData Data to feed to the Model
        @param _isBorrower True if this contract is the borrower, False if the contract is the creator
        @param _id loanManager.requestSignature(_requestDatam _loanData)

        @return _id XOR keccak256("approve-loan-request"), if the approve is accepted
    */
    function settleApproveRequest(
        bytes calldata _requestData,
        bytes calldata _loanData,
        bool _isBorrower,
        uint256 _id
    )
        external returns (bytes32);
}


contract BatchRequester is ERC165, LoanApprover{
    LoanManager public loanManager;
    uint256 public salt;

    uint128 public amount;
    address public model;
    address public oracle;
    uint64 public expiration;
    bytes public loanData;

    constructor() public {
        _registerInterface(0x76ba6009);
        _registerInterface(0xcd40239e);
        _registerInterface(0xbbfa4397);
    }

    function setLoanManager(LoanManager _loanManager) external {
        loanManager = _loanManager;
    }

    function setAmount(uint128 _amount) external {
        amount = _amount;
    }

    function setModel(address _model) external {
        model = _model;
    }

    function setOracle(address _oracle) external {
        oracle = _oracle;
    }

    function setExpiration(uint64 _expiration) external {
        expiration = _expiration;
    }

    function setLoanData(bytes calldata _loanData) external {
        loanData = _loanData;
    }

    function requestBatchLoans(uint256 _length) public {
        for(; _length > 0;) {
            loanManager.requestLoan(
                amount,
                model,
                oracle,
                address(this),
                salt,
                expiration,
                loanData
            );
            salt++;
            _length -= _length;
        }
    }

    function approveRequest(bytes32 _futureDebt) external returns (bytes32) {
        return _futureDebt ^ 0xdfcb15a077f54a681c23131eacdfd6e12b5e099685b492d382c3fd8bfc1e9a2a;
    }

    function settleApproveRequest(bytes calldata, bytes calldata, bool, uint256) external returns (bytes32) { }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"model","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_loanData","type":"bytes"}],"name":"setLoanData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"expiration","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"loanData","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_loanManager","type":"address"}],"name":"setLoanManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_model","type":"address"}],"name":"setModel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_futureDebt","type":"bytes32"}],"name":"approveRequest","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint128"}],"name":"setAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amount","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"loanManager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"bytes"},{"name":"","type":"bytes"},{"name":"","type":"bool"},{"name":"","type":"uint256"}],"name":"settleApproveRequest","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"salt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_length","type":"uint256"}],"name":"requestBatchLoans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_expiration","type":"uint64"}],"name":"setExpiration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b506100437f01ffc9a7000000000000000000000000000000000000000000000000000000006401000000006100de810204565b6100757f76ba6009000000000000000000000000000000000000000000000000000000006401000000006100de810204565b6100a77fcd40239e000000000000000000000000000000000000000000000000000000006401000000006100de810204565b6100d97fbbfa4397000000000000000000000000000000000000000000000000000000006401000000006100de810204565b6101ac565b7fffffffff00000000000000000000000000000000000000000000000000000000808216141561016f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f43616e2774207265676973746572203078666666666666666600000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b6109d6806101bb6000396000f3fe608060405234801561001057600080fd5b5060043610610128576000357c0100000000000000000000000000000000000000000000000000000000900480637adbf973116100bf578063b3ccbcfe1161008e578063b3ccbcfe146103ba578063b700f67a146103c2578063bfa0b1331461048c578063d355f13914610494578063dadce8b0146104b157610128565b80637adbf973146103305780637dc0d1d0146103565780639d59011e1461035e578063aa8c217c1461038d57610128565b80634a590818116100fb5780634a590818146102385780635772ae70146102b557806360c326ea146102db57806376ba60091461030157610128565b806301ffc9a71461012d5780630ad9d0521461017d5780633a8b55f1146101a15780634665096d14610213575b600080fd5b6101696004803603602081101561014357600080fd5b50357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166104d8565b604080519115158252519081900360200190f35b61018561050c565b60408051600160a060020a039092168252519081900360200190f35b610211600480360360208110156101b757600080fd5b8101906020810181356401000000008111156101d257600080fd5b8201836020820111156101e457600080fd5b8035906020019184600183028401116401000000008311171561020657600080fd5b50909250905061051b565b005b61021b61052c565b6040805167ffffffffffffffff9092168252519081900360200190f35b610240610554565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027a578181015183820152602001610262565b50505050905090810190601f1680156102a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610211600480360360208110156102cb57600080fd5b5035600160a060020a03166105e2565b610211600480360360208110156102f157600080fd5b5035600160a060020a0316610611565b61031e6004803603602081101561031757600080fd5b5035610640565b60408051918252519081900360200190f35b6102116004803603602081101561034657600080fd5b5035600160a060020a0316610665565b610185610694565b6102116004803603602081101561037457600080fd5b50356fffffffffffffffffffffffffffffffff166106a3565b6103956106d7565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101856106ef565b61031e600480360360808110156103d857600080fd5b8101906020810181356401000000008111156103f357600080fd5b82018360208201111561040557600080fd5b8035906020019184600183028401116401000000008311171561042757600080fd5b91939092909160208101903564010000000081111561044557600080fd5b82018360208201111561045757600080fd5b8035906020019184600183028401116401000000008311171561047957600080fd5b91935091508035151590602001356106fe565b61031e61070a565b610211600480360360208110156104aa57600080fd5b5035610710565b610211600480360360208110156104c757600080fd5b503567ffffffffffffffff166108bc565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191660009081526020819052604090205460ff1690565b600454600160a060020a031681565b6105276006838361090f565b505050565b60055474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b505050505081565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b7fdfcb15a077f54a681c23131eacdfd6e12b5e099685b492d382c3fd8bfc1e9a2a1890565b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600160a060020a031681565b600380546fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff92909216919091179055565b6003546fffffffffffffffffffffffffffffffff1681565b600154600160a060020a031681565b60009695505050505050565b60025481565b60008111156108b9576001805460035460048054600554600280546040517ff8201a320000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909616948601858152600160a060020a0394851660248801819052858516604489018190523060648a0181905260848a018590527401000000000000000000000000000000000000000090960467ffffffffffffffff1660a48a0181905260e060c48b01908152600680546101009e8116159e909e0260001901909d169690960460e48b0181905297909a169a63f8201a329a989992989197949591949093926101040190849080156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505098505050505050505050602060405180830381600087803b15801561087c57600080fd5b505af1158015610890573d6000803e3d6000fd5b505050506040513d60208110156108a657600080fd5b5050600280546001019055506000610710565b50565b6005805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109505782800160ff1982351617855561097d565b8280016001018555821561097d579182015b8281111561097d578235825591602001919060010190610962565b5061098992915061098d565b5090565b6109a791905b808211156109895760008155600101610993565b9056fea165627a7a723058200dfadb93740b9c463e27655f824cb2cfc1ae6818d58daf69d83095f9720de39a0029

   Swarm Source:
bzzr://0dfadb93740b9c463e27655f824cb2cfc1ae6818d58daf69d83095f9720de39a

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward