Contract 0x12d17e320db7c0f7cbbec211e098aeeddd8404c4

 
Ad
Ad
Txn Hash Method
Block
From
To
Value
0x52c86c850bfb70b204523d2967fc518926aef30ef4595c275ae77a22c2fda310Withdraw Wallet ...126165862021-06-12 0:47:591 day 11 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0006799220
0x82a1fd0fa1862a4b8ec77b00850ae2a7a0d7dad12a55eabfed63d73a75beb6e1Add Balance126164752021-06-12 0:24:561 day 11 hrs ago0x88d9417fff6b706ad29ba9ad2f77205a94393edd IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00077708411
0x63863e05e1737376672559871d080d6a9ce2bf1d82baaa15e81df04f9c470ec6Withdraw Wallet ...126162162021-06-11 23:31:291 day 12 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0006799220
0x8da54927ffd34ae8e8f34e219063f136282c53a238b875d8c93978f5e0482607Add Balance126152562021-06-11 20:01:011 day 15 hrs ago0x7421f2fd4d8411b8b9f64fbf3734ad928bb59575 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00169545624
0xf9a9e2c58c04d18a0e90e3899cb8bfe09ddd6ea66d3401e6c81e9b82d9cc4459Withdraw Wallet ...126062532021-06-10 10:36:343 days 1 hr ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0010773734431.68
0x76115690fb2f13a415860399f310284da685bbedfcd3f8d38bbce3b160d8a8a3Add Balance126062362021-06-10 10:32:563 days 1 hr ago0x443013045a74bbf56f70e65a4ff4be4d64854c0b IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00041067614
0x5f6a7394597254f6b8c969a9148d653479a4c75487cddcec27c1bd20c372a20cAdd Balance126062362021-06-10 10:32:563 days 1 hr ago0x443013045a74bbf56f70e65a4ff4be4d64854c0b IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00098918414
0x9fa839271b603e43caee27feb27a0a5e67a3a5eafd4cf5303aad7f1147c4eb07Add Balance125894072021-06-07 19:56:585 days 15 hrs ago0x431d15f4c5dd2952a59dc3aa2315c6e4cb290279 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00091837213
0x30df6a0b81a7990ad89b735ab2549ae438446a1577f4915e89e7def959750981Withdraw Wallet ...125886132021-06-07 17:05:245 days 18 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00190377656
0xb1a316269e079264ab623486d5321b5db4624ce38a95962bc77628dee658261dAdd Balance125878772021-06-07 14:18:185 days 21 hrs ago0xe9a47618b2412495ca9aafd4ff63c219db3d81a6 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00127159218
0x6f3ce7c840f2d45dfd2568136c7f363be540e0f93887ba7b6a87dafc1d07d4d6Withdraw Wallet ...125841982021-06-07 0:23:096 days 11 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00095222428
0xc321e63c1d8ace7c34d6afa551df14cd742d4250552d613ae9ec3dd204ea930cAdd Balance125841712021-06-07 0:17:196 days 11 hrs ago0x290f6be0606c0dc3a82a273081bd67b78934ec4e IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00077721610311.000001459
0xbac58e61fcb41e421662fbca44dc564b120bf738781d7f285854514a530e4a69Add Balance125805792021-06-06 11:05:127 days 44 mins ago0x1a1535ba1160578d2d03b783235b68076262bf3d IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0007065610
0x4d76f06f139150b30ad10c2950126588f50812c3b3c9e1e4199a599ce3a2d5a3Withdraw Wallet ...125804462021-06-06 10:38:357 days 1 hr ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0010221620
0x2a2116b37ed6ca2b10310398b031c935741faa988c5a0ba23a4352e3ec630d52Withdraw Wallet ...125754762021-06-05 16:22:377 days 19 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00108787232
0x34b9e71c2b48ea66773a79a1581217e090927b46584235f4ee751f30ffe808b7Add Balance125754342021-06-05 16:13:037 days 19 hrs ago0xa1205a5c662bf0f854ef23fd0de570d675965594 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0008029815
0x1987c9f9605a37a51e05018dda5cf9b382799c76f0af4891713cbdec18c81ca8Add Balance125754172021-06-05 16:08:437 days 19 hrs ago0xa1205a5c662bf0f854ef23fd0de570d675965594 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00113011216
0xbbcd6b6e4777a85e01517a2041391074c3706efa2a4b28ea4662b1f0752dd142Withdraw Wallet ...125684072021-06-04 14:03:148 days 21 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0013603240
0xfeb3a86de9f4a0f4bf713f4b3733b87381d21e48066c9af3b60fd02baf76a83aAdd Balance125683762021-06-04 13:57:528 days 21 hrs ago0x7b506f2b0e2199cfe0c1e5e4c2d6531b90812fba IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00226099232
0x9294c1a71891b162fa46741d7d8866923deaec60b761ae3a17ab6639ab63de33Add Balance125638432021-06-03 21:07:519 days 14 hrs ago0x6a0af4c42df0ed94d9abaaf955b1c020ec9a5fb3 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.0010266935
0xc9370f0d5cd60ef9c3dca736311b22648325af20cee9493fb6c6f24a436f2eb4Add Balance125627912021-06-03 17:13:239 days 18 hrs ago0xc7558219157a2970ec0a571ad56214310fc50548 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00105602436
0xc5f1d7b47732e5d9f4f04a708bfa55e751ffb6c7f277679f339829b1f3acd2ccAdd Balance125627342021-06-03 17:01:259 days 18 hrs ago0x6a0af4c42df0ed94d9abaaf955b1c020ec9a5fb3 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00189230434
0xde301bc5e628a3e1363d7b01b36ceff3393359ef30f81f5b48fed512f406561cWithdraw Wallet ...125604972021-06-03 8:38:1910 days 3 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00163065648
0xf18021d0d267b01c087236314f7ff0bd0189931757e110f8539128beb93968c8Withdraw Wallet ...125604912021-06-03 8:36:0610 days 3 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00215529644
0x7e39701618433282b1d85c3e1849f27abc1393ae7806af0b48aa0405baf4a2c2Withdraw Wallet ...125604862021-06-03 8:33:3510 days 3 hrs ago0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0 IN  0x12d17e320db7c0f7cbbec211e098aeeddd8404c40 Ether0.00290716844
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GraphLinqDepositor

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : GraphLinqDepositor.sol
// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.7.0;

import "./interfaces/IERC20.sol";
import "./maths/SafeMath.sol";

contract GraphLinqDepositor {
    using SafeMath for uint256;

    address private _graphLinkContract;
    mapping (address => uint256) _balances;
    address private _engineManager;

    constructor(address engineManager, address graphLinqContract) {
        _engineManager = engineManager;
        _graphLinkContract = graphLinqContract;
    }

    /* Parameters: Amount of GLQ Token to burn
    ** Desc: Burn a specific amount of token by calling the GLQ Token Contract for All Wallets
    ** Return: void
    */
    function burnAmount(uint256 amount) public {
        IERC20 graphLinqToken = IERC20(address(_graphLinkContract));
         require (
            msg.sender == _engineManager,
            "Only the GraphLinq engine manager can decide which funds should be burned for graph costs."
        );
        require(
            graphLinqToken.balanceOf(address(this)) >= amount, 
            "Invalid fund in the depositor contract, cant reach the contract balance amount."
        );
        graphLinqToken.burnFuel(amount);
    }

    /* Parameters: Amount of GLQ Token to burn
    ** Desc: Burn a specific amount of token by calling the GLQ Token Contract for a specific wallet
    */
    function burnBalance(address fromWallet, uint256 amount) public {
        IERC20 graphLinqToken = IERC20(address(_graphLinkContract));
        require (
            msg.sender == _engineManager,
            "Only the GraphLinq engine manager can decide which funds should be burned for graph costs."
        );

        require (_balances[fromWallet] >= amount,
            "Invalid amount to withdraw, amount is higher then current wallet balance."
        );

        require(
            graphLinqToken.balanceOf(address(this)) >= amount, 
            "Invalid fund in the depositor contract, cant reach the contract balance amount."
        );

        graphLinqToken.burnFuel(amount);
        _balances[fromWallet] -= amount;
    }

    /* Parameters: wallet owner address, amount asked to withdraw, fees to pay for graphs execs
    ** Desc: Withdraw funds from this contract to the base wallet depositor, applying fees if necessary
    */
    function withdrawWalletBalance(address walletOwner, uint256 amount,
     uint256 removeFees) public {
        IERC20 graphLinqToken = IERC20(address(_graphLinkContract));

        require (
            msg.sender == _engineManager,
            "Only the GraphLinq engine manager can decide which funds are withdrawable or not."
        );

        uint256 summedAmount = amount.add(removeFees);
        require (_balances[walletOwner] >= summedAmount,
            "Invalid amount to withdraw, amount is higher then current wallet balance."
        );

        require(
            graphLinqToken.balanceOf(address(this)) >= summedAmount, 
            "Invalid fund in the depositor contract, cant reach the wallet balance amount."
        );

        _balances[walletOwner] -= amount;
        require(
            graphLinqToken.transfer(walletOwner, amount),
            "Error transfering balance back to his owner from the depositor contract."
        );
        
        // in case the wallet runned some graph on the engine and have fees to pay
        if (removeFees > 0) {
            graphLinqToken.burnFuel(removeFees);
            _balances[walletOwner] -= removeFees;
        }
    }

    /* Parameters: Amount to add into the contract
    ** Desc: Deposit GLQ token in the contract to pay for graphs fees executions
    */
    function addBalance(uint256 amount) public {
         IERC20 graphLinqToken = IERC20(address(_graphLinkContract));

         require(
             graphLinqToken.balanceOf(msg.sender) >= amount,
             "Invalid balance to add in your credits"
         );

         require(
             graphLinqToken.transferFrom(msg.sender, address(this), amount) == true,
             "Error while trying to add credit to your balance, please check allowance."
         );

         _balances[msg.sender] += amount;
    }

    function getBalance(address from) public view returns(uint256) {
        return _balances[from];
    }
}

File 2 of 3 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

     // Allow deployer to burn his own wallet funds (which is the amount from depositor contract)
    function burnFuel(uint256 amount) external;

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 3 of 3 : SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"engineManager","type":"address"},{"internalType":"address","name":"graphLinqContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromWallet","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"walletOwner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"removeFees","type":"uint256"}],"name":"withdrawWalletBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516112573803806112578339818101604052604081101561003357600080fd5b81019080805190602001909291908051906020019092919050505081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050611177806100e06000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80634ba94ec91461005c5780636fafdf83146100aa578063817a6313146100d8578063d91921ed14610130578063f8b2cb4f1461015e575b600080fd5b6100a86004803603604081101561007257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101b6565b005b6100d6600480360360208110156100c057600080fd5b81019080803590602001909291905050506104d1565b005b61012e600480360360608110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610706565b005b61015c6004803603602081101561014657600080fd5b8101908080359060200190929190505050610b92565b005b6101a06004803603602081101561017457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e29565b6040518082815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610282576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605a815260200180610fff605a913960600191505060405180910390fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561031a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180610efb6049913960600191505060405180910390fd5b818173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d60208110156103ac57600080fd5b81019080805190602001909291905050501015610414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f815260200180611059604f913960600191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663843d7d72836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b5050505081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605a815260200180610fff605a913960600191505060405180910390fd5b818173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060557600080fd5b505afa158015610619573d6000803e3d6000fd5b505050506040513d602081101561062f57600080fd5b81019080805190602001909291905050501015610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f815260200180611059604f913960600191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663843d7d72836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156106ea57600080fd5b505af11580156106fe573d6000803e3d6000fd5b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260518152602001806110a86051913960600191505060405180910390fd5b60006107e78385610e7290919063ffffffff16565b905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180610efb6049913960600191505060405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108e957600080fd5b505afa1580156108fd573d6000803e3d6000fd5b505050506040513d602081101561091357600080fd5b8101908080519060200190929190505050101561097b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604d815260200180610f8c604d913960600191505060405180910390fd5b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a3957600080fd5b505af1158015610a4d573d6000803e3d6000fd5b505050506040513d6020811015610a6357600080fd5b8101908080519060200190929190505050610ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526048815260200180610f446048913960600191505060405180910390fd5b6000831115610b8b578173ffffffffffffffffffffffffffffffffffffffff1663843d7d72846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b5050505082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d6020811015610c4a57600080fd5b81019080805190602001909291905050501015610cb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610fd96026913960400191505060405180910390fd5b600115158173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610d4557600080fd5b505af1158015610d59573d6000803e3d6000fd5b505050506040513d6020811015610d6f57600080fd5b8101908080519060200190929190505050151514610dd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260498152602001806110f96049913960600191505060405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080828401905083811015610ef0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe496e76616c696420616d6f756e7420746f2077697468647261772c20616d6f756e7420697320686967686572207468656e2063757272656e742077616c6c65742062616c616e63652e4572726f72207472616e73666572696e672062616c616e6365206261636b20746f20686973206f776e65722066726f6d20746865206465706f7369746f7220636f6e74726163742e496e76616c69642066756e6420696e20746865206465706f7369746f7220636f6e74726163742c2063616e74207265616368207468652077616c6c65742062616c616e636520616d6f756e742e496e76616c69642062616c616e636520746f2061646420696e20796f757220637265646974734f6e6c79207468652047726170684c696e7120656e67696e65206d616e616765722063616e206465636964652077686963682066756e64732073686f756c64206265206275726e656420666f7220677261706820636f7374732e496e76616c69642066756e6420696e20746865206465706f7369746f7220636f6e74726163742c2063616e742072656163682074686520636f6e74726163742062616c616e636520616d6f756e742e4f6e6c79207468652047726170684c696e7120656e67696e65206d616e616765722063616e206465636964652077686963682066756e64732061726520776974686472617761626c65206f72206e6f742e4572726f72207768696c6520747279696e6720746f206164642063726564697420746f20796f75722062616c616e63652c20706c6561736520636865636b20616c6c6f77616e63652ea2646970667358221220a1eedb1368b751c16bee4ac5536a48651ad4fa70c5140a1d42171ba4b1747d8164736f6c63430007040033000000000000000000000000b0bdc18be58da5bb61b5bd10403f393258d8c0f00000000000000000000000009f9c8ec3534c3ce16f928381372bfbfbfb9f4d24

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

000000000000000000000000b0bdc18be58da5bb61b5bd10403f393258d8c0f00000000000000000000000009f9c8ec3534c3ce16f928381372bfbfbfb9f4d24

-----Decoded View---------------
Arg [0] : engineManager (address): 0xb0bdc18be58da5bb61b5bd10403f393258d8c0f0
Arg [1] : graphLinqContract (address): 0x9f9c8ec3534c3ce16f928381372bfbfbfb9f4d24

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b0bdc18be58da5bb61b5bd10403f393258d8c0f0
Arg [1] : 0000000000000000000000009f9c8ec3534c3ce16f928381372bfbfbfb9f4d24


Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.