Contract 0x29f80c1f685e19ae1807063eda432f431ac623d0 6

 

Contract Overview

0x: Exchange Proxy Transformer Deployer
Balance:
0 ETH

ETH Value:
$0.00
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x6e656b2770b2cf723e1c0e80f2d77760fa57c8ed52c65a0a3cb9aaf780647851Deploy892983962023-05-10 15:20:40323 days 21 hrs ago0x6879fab591ed0d62537a3cac9d7cd41218445a84 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.006676440.1
0x200abb23cba7bd173ee0aa5aae3ff1f1307931d82106a77753de3470914fc5faDeploy683211952023-03-09 20:48:03385 days 15 hrs ago0x6879fab591ed0d62537a3cac9d7cd41218445a84 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.002192620.1
0x234eda859c7e4487ac942b1713e4583162503cee2f5e4e237084e4ef2aa7045eDeploy557058322023-01-26 21:52:29427 days 14 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.001914270.1
0xdaeed2e02d332de9b814038393be6fdbf418bec835fe093c0939bf91239f4716Deploy403671652022-11-22 21:41:15492 days 14 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.001236320.1
0x79df613289251d407204f28cea51115437f4cc274ed9c637c452c83d36957965Deploy352858022022-11-04 21:00:48510 days 15 hrs ago0x000000c397124d0375555f435e201f83b636c26c IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000305980.1
0x18bfb81a484dc0f46bf4cd68028d401d4c7f58e39debc8198acb3eaec0a89344Deploy352857892022-11-04 21:00:43510 days 15 hrs ago0x000000c397124d0375555f435e201f83b636c26c IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000361880.1
0x4f1f9480ea3c87be43b6670d92442e5d585e8e33b21e20d8c0813f859843bff4Deploy352857772022-11-04 21:00:38510 days 15 hrs ago0x000000c397124d0375555f435e201f83b636c26c IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000336840.1
0xecafdeac1a1e1b8c03b75c6abf21ec34fc775bd36748dc003da5281182353ed1Deploy255281972022-09-20 16:50:47555 days 19 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000666460.1
0xf7b58c723360f7f5202241e8a15b8e29a898f9ada6d8fbfd0f26a28c3872b190Deploy253287122022-09-19 18:53:15556 days 17 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.002011320.1
0x380dfe9583094a2be31f117fb46781e951c8ba802d690f47fee264a36d13d4feDeploy253198042022-09-19 17:23:28556 days 18 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000799860.1
0xb0b4d173440a8478c60045fe91934289703869b125ed308cdad89bbd6c63d1caDeploy232242502022-09-06 18:57:25569 days 17 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.001947160.1
0x06375f4e4d6f1f86772e7dcf4f2fa38007d1aede6b15a9dc4b685ad80763aa2aDeploy231683482022-09-06 13:55:03569 days 22 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000639160.1
0xa450cc0dbc3f2ce956c11654b183cb290fe64fd6515d0cf79604df347273b168Deploy231672012022-09-06 13:49:41569 days 22 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000629940.1
0xc45ff05ff89894238e38cd2ffae1a213c7e19daa6bdab756b64ca1cfbd5b4315Deploy225387382022-09-02 19:00:50573 days 17 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.001229760.1
0x0b61d25a00a53611d0ff9c676e780b5cc4d1dc7c1437269a9e07ed47c7fa8f91Deploy225361872022-09-02 18:35:38573 days 17 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.001429460.1
0x6125f933b942a51d77ff2a823895bfdc8155fa60f612a6fc66d079402008e4aaDeploy212695272022-08-25 16:40:52581 days 19 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.003183334802 ETH0.172643573
0xbd907938d50345b143753afc404c33664a488805803af4e4ecfc5b5ccda9ba9eTransfer Ownersh...40507622021-12-23 22:42:32826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.000541879074 ETH0.781908592
0xe1c6f1462e0f569095a578a97415172ef86eef947dda26ccccd5fd5605dba0dfDeploy40507562021-12-23 22:42:32826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.014786430225 ETH0.781908592
0x199ad267506d1a11d6a9ebfabfbc53f71cb12357a37cfb462da1023391e6b02aDeploy40507492021-12-23 22:42:32826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.004059218252 ETH0.781908592
0x7ae0f3be8f5848eec9566bae4e41bfc5f870c769a6c1635cac29b642e2bec9caDeploy40507422021-12-23 22:42:32826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.004237870291 ETH0.781908592
0xc481437e6ea0d4ce26582dfe3b2f6ba128af75524a8e6c7525a040a71e9ec39fDeploy40507402021-12-23 22:42:32826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.004692383591 ETH0.781908592
0x6addbfbde8c8125d648153e783482a9e3c48ee1b861bf038796aa8d9dbb60a9dDeploy40507382021-12-23 22:42:32826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  0x: Exchange Proxy Transformer Deployer0 ETH0.005006440305 ETH0.781908592
0x3875aa76abb092aef9fab4e8f609e4e61f99575524837a5c7296e0a50a1894ef0x6080604040507142021-12-23 22:41:24826 days 13 hrs ago0xac3c9f9a125f569a3112d1c60e008fa55e159b92 IN  Create: TransformerDeployer0 ETH0.029390501359 ETH0.781908592
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x6e656b2770b2cf723e1c0e80f2d77760fa57c8ed52c65a0a3cb9aaf780647851892983962023-05-10 15:20:40323 days 21 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x200abb23cba7bd173ee0aa5aae3ff1f1307931d82106a77753de3470914fc5fa683211952023-03-09 20:48:03385 days 15 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x79c092b0e3c76d162e662bc8dec9e9349e90922cfd470f54563f04055bb265b4652332462023-02-27 23:29:00395 days 12 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0x79c092b0e3c76d162e662bc8dec9e9349e90922cfd470f54563f04055bb265b4652332462023-02-27 23:29:00395 days 12 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0x234eda859c7e4487ac942b1713e4583162503cee2f5e4e237084e4ef2aa7045e557058322023-01-26 21:52:29427 days 14 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0xdaeed2e02d332de9b814038393be6fdbf418bec835fe093c0939bf91239f4716403671652022-11-22 21:41:15492 days 14 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x79df613289251d407204f28cea51115437f4cc274ed9c637c452c83d36957965352858022022-11-04 21:00:48510 days 15 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x18bfb81a484dc0f46bf4cd68028d401d4c7f58e39debc8198acb3eaec0a89344352857892022-11-04 21:00:43510 days 15 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x4f1f9480ea3c87be43b6670d92442e5d585e8e33b21e20d8c0813f859843bff4352857772022-11-04 21:00:38510 days 15 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xf69feeae62dfd553fae11cc99b7d170cac90c15eda61e52d28fa3c881ac1f830308557062022-10-18 21:43:27527 days 14 hrs ago 0x: Exchange Proxy Governor 0x: Exchange Proxy Transformer Deployer0 ETH
0xecafdeac1a1e1b8c03b75c6abf21ec34fc775bd36748dc003da5281182353ed1255281972022-09-20 16:50:47555 days 19 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0xf7b58c723360f7f5202241e8a15b8e29a898f9ada6d8fbfd0f26a28c3872b190253287122022-09-19 18:53:15556 days 17 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x380dfe9583094a2be31f117fb46781e951c8ba802d690f47fee264a36d13d4fe253198042022-09-19 17:23:28556 days 18 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0xb0b4d173440a8478c60045fe91934289703869b125ed308cdad89bbd6c63d1ca232242502022-09-06 18:57:25569 days 17 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x06375f4e4d6f1f86772e7dcf4f2fa38007d1aede6b15a9dc4b685ad80763aa2a231683482022-09-06 13:55:03569 days 22 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0xa450cc0dbc3f2ce956c11654b183cb290fe64fd6515d0cf79604df347273b168231672012022-09-06 13:49:41569 days 22 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0xc45ff05ff89894238e38cd2ffae1a213c7e19daa6bdab756b64ca1cfbd5b4315225387382022-09-02 19:00:50573 days 17 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
0x0b61d25a00a53611d0ff9c676e780b5cc4d1dc7c1437269a9e07ed47c7fa8f91225361872022-09-02 18:35:38573 days 17 hrs ago 0x: Exchange Proxy Transformer Deployer  Contract Creation0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TransformerDeployer

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, Apache-2.0 license
File 1 of 8 : TransformerDeployer.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;
pragma experimental ABIEncoderV2;

import "@0x/contracts-utils/contracts/src/v06/AuthorizableV06.sol";


/// @dev A contract with a `die()` function.
interface IKillable {
    function die(address payable ethRecipient) external;
}

/// @dev Deployer contract for ERC20 transformers.
///      Only authorities may call `deploy()` and `kill()`.
contract TransformerDeployer is
    AuthorizableV06
{
    /// @dev Emitted when a contract is deployed via `deploy()`.
    /// @param deployedAddress The address of the deployed contract.
    /// @param nonce The deployment nonce.
    /// @param sender The caller of `deploy()`.
    event Deployed(address deployedAddress, uint256 nonce, address sender);
    /// @dev Emitted when a contract is killed via `kill()`.
    /// @param target The address of the contract being killed..
    /// @param sender The caller of `kill()`.
    event Killed(address target, address sender);

    // @dev The current nonce of this contract.
    uint256 public nonce = 1;
    // @dev Mapping of deployed contract address to deployment nonce.
    mapping (address => uint256) public toDeploymentNonce;

    /// @dev Create this contract and register authorities.
    constructor(address[] memory initialAuthorities) public {
        for (uint256 i = 0; i < initialAuthorities.length; ++i) {
            _addAuthorizedAddress(initialAuthorities[i]);
        }
    }

    /// @dev Deploy a new contract. Only callable by an authority.
    ///      Any attached ETH will also be forwarded.
    function deploy(bytes memory bytecode)
        public
        payable
        onlyAuthorized
        returns (address deployedAddress)
    {
        uint256 deploymentNonce = nonce;
        nonce += 1;
        assembly {
            deployedAddress := create(callvalue(), add(bytecode, 32), mload(bytecode))
        }
        require(deployedAddress != address(0), 'TransformerDeployer/DEPLOY_FAILED');
        toDeploymentNonce[deployedAddress] = deploymentNonce;
        emit Deployed(deployedAddress, deploymentNonce, msg.sender);
    }

    /// @dev Call `die()` on a contract. Only callable by an authority.
    /// @param target The target contract to call `die()` on.
    /// @param ethRecipient The Recipient of any ETH locked in `target`.
    function kill(IKillable target, address payable ethRecipient)
        public
        onlyAuthorized
    {
        target.die(ethRecipient);
        emit Killed(address(target), msg.sender);
    }
}

File 2 of 8 : AuthorizableV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;

import "./interfaces/IAuthorizableV06.sol";
import "./errors/LibRichErrorsV06.sol";
import "./errors/LibAuthorizableRichErrorsV06.sol";
import "./OwnableV06.sol";


// solhint-disable no-empty-blocks
contract AuthorizableV06 is
    OwnableV06,
    IAuthorizableV06
{
    /// @dev Only authorized addresses can invoke functions with this modifier.
    modifier onlyAuthorized {
        _assertSenderIsAuthorized();
        _;
    }

    // @dev Whether an address is authorized to call privileged functions.
    // @param 0 Address to query.
    // @return 0 Whether the address is authorized.
    mapping (address => bool) public override authorized;
    // @dev Whether an address is authorized to call privileged functions.
    // @param 0 Index of authorized address.
    // @return 0 Authorized address.
    address[] public override authorities;

    /// @dev Initializes the `owner` address.
    constructor()
        public
        OwnableV06()
    {}

    /// @dev Authorizes an address.
    /// @param target Address to authorize.
    function addAuthorizedAddress(address target)
        external
        override
        onlyOwner
    {
        _addAuthorizedAddress(target);
    }

    /// @dev Removes authorizion of an address.
    /// @param target Address to remove authorization from.
    function removeAuthorizedAddress(address target)
        external
        override
        onlyOwner
    {
        if (!authorized[target]) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.TargetNotAuthorizedError(target));
        }
        for (uint256 i = 0; i < authorities.length; i++) {
            if (authorities[i] == target) {
                _removeAuthorizedAddressAtIndex(target, i);
                break;
            }
        }
    }

    /// @dev Removes authorizion of an address.
    /// @param target Address to remove authorization from.
    /// @param index Index of target in authorities array.
    function removeAuthorizedAddressAtIndex(
        address target,
        uint256 index
    )
        external
        override
        onlyOwner
    {
        _removeAuthorizedAddressAtIndex(target, index);
    }

    /// @dev Gets all authorized addresses.
    /// @return Array of authorized addresses.
    function getAuthorizedAddresses()
        external
        override
        view
        returns (address[] memory)
    {
        return authorities;
    }

    /// @dev Reverts if msg.sender is not authorized.
    function _assertSenderIsAuthorized()
        internal
        view
    {
        if (!authorized[msg.sender]) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.SenderNotAuthorizedError(msg.sender));
        }
    }

    /// @dev Authorizes an address.
    /// @param target Address to authorize.
    function _addAuthorizedAddress(address target)
        internal
    {
        // Ensure that the target is not the zero address.
        if (target == address(0)) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.ZeroCantBeAuthorizedError());
        }

        // Ensure that the target is not already authorized.
        if (authorized[target]) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.TargetAlreadyAuthorizedError(target));
        }

        authorized[target] = true;
        authorities.push(target);
        emit AuthorizedAddressAdded(target, msg.sender);
    }

    /// @dev Removes authorizion of an address.
    /// @param target Address to remove authorization from.
    /// @param index Index of target in authorities array.
    function _removeAuthorizedAddressAtIndex(
        address target,
        uint256 index
    )
        internal
    {
        if (!authorized[target]) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.TargetNotAuthorizedError(target));
        }
        if (index >= authorities.length) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.IndexOutOfBoundsError(
                index,
                authorities.length
            ));
        }
        if (authorities[index] != target) {
            LibRichErrorsV06.rrevert(LibAuthorizableRichErrorsV06.AuthorizedAddressMismatchError(
                authorities[index],
                target
            ));
        }

        delete authorized[target];
        authorities[index] = authorities[authorities.length - 1];
        authorities.pop();
        emit AuthorizedAddressRemoved(target, msg.sender);
    }
}

File 3 of 8 : IAuthorizableV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;

import "./IOwnableV06.sol";


interface IAuthorizableV06 is
    IOwnableV06
{
    // Event logged when a new address is authorized.
    event AuthorizedAddressAdded(
        address indexed target,
        address indexed caller
    );

    // Event logged when a currently authorized address is unauthorized.
    event AuthorizedAddressRemoved(
        address indexed target,
        address indexed caller
    );

    /// @dev Authorizes an address.
    /// @param target Address to authorize.
    function addAuthorizedAddress(address target)
        external;

    /// @dev Removes authorizion of an address.
    /// @param target Address to remove authorization from.
    function removeAuthorizedAddress(address target)
        external;

    /// @dev Removes authorizion of an address.
    /// @param target Address to remove authorization from.
    /// @param index Index of target in authorities array.
    function removeAuthorizedAddressAtIndex(
        address target,
        uint256 index
    )
        external;

    /// @dev Gets all authorized addresses.
    /// @return authorizedAddresses Array of authorized addresses.
    function getAuthorizedAddresses()
        external
        view
        returns (address[] memory authorizedAddresses);

    /// @dev Whether an adderss is authorized to call privileged functions.
    /// @param addr Address to query.
    /// @return isAuthorized Whether the address is authorized.
    function authorized(address addr) external view returns (bool isAuthorized);

    /// @dev All addresseses authorized to call privileged functions.
    /// @param idx Index of authorized address.
    /// @return addr Authorized address.
    function authorities(uint256 idx) external view returns (address addr);

}

File 4 of 8 : IOwnableV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;


interface IOwnableV06 {

    /// @dev Emitted by Ownable when ownership is transferred.
    /// @param previousOwner The previous owner of the contract.
    /// @param newOwner The new owner of the contract.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// @dev Transfers ownership of the contract to a new address.
    /// @param newOwner The address that will become the owner.
    function transferOwnership(address newOwner) external;

    /// @dev The owner of this contract.
    /// @return ownerAddress The owner address.
    function owner() external view returns (address ownerAddress);
}

File 5 of 8 : LibRichErrorsV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;


library LibRichErrorsV06 {

    // bytes4(keccak256("Error(string)"))
    bytes4 internal constant STANDARD_ERROR_SELECTOR = 0x08c379a0;

    // solhint-disable func-name-mixedcase
    /// @dev ABI encode a standard, string revert error payload.
    ///      This is the same payload that would be included by a `revert(string)`
    ///      solidity statement. It has the function signature `Error(string)`.
    /// @param message The error string.
    /// @return The ABI encoded error.
    function StandardError(string memory message)
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            STANDARD_ERROR_SELECTOR,
            bytes(message)
        );
    }
    // solhint-enable func-name-mixedcase

    /// @dev Reverts an encoded rich revert reason `errorData`.
    /// @param errorData ABI encoded error data.
    function rrevert(bytes memory errorData)
        internal
        pure
    {
        assembly {
            revert(add(errorData, 0x20), mload(errorData))
        }
    }
}

File 6 of 8 : LibAuthorizableRichErrorsV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;


library LibAuthorizableRichErrorsV06 {

    // bytes4(keccak256("AuthorizedAddressMismatchError(address,address)"))
    bytes4 internal constant AUTHORIZED_ADDRESS_MISMATCH_ERROR_SELECTOR =
        0x140a84db;

    // bytes4(keccak256("IndexOutOfBoundsError(uint256,uint256)"))
    bytes4 internal constant INDEX_OUT_OF_BOUNDS_ERROR_SELECTOR =
        0xe9f83771;

    // bytes4(keccak256("SenderNotAuthorizedError(address)"))
    bytes4 internal constant SENDER_NOT_AUTHORIZED_ERROR_SELECTOR =
        0xb65a25b9;

    // bytes4(keccak256("TargetAlreadyAuthorizedError(address)"))
    bytes4 internal constant TARGET_ALREADY_AUTHORIZED_ERROR_SELECTOR =
        0xde16f1a0;

    // bytes4(keccak256("TargetNotAuthorizedError(address)"))
    bytes4 internal constant TARGET_NOT_AUTHORIZED_ERROR_SELECTOR =
        0xeb5108a2;

    // bytes4(keccak256("ZeroCantBeAuthorizedError()"))
    bytes internal constant ZERO_CANT_BE_AUTHORIZED_ERROR_BYTES =
        hex"57654fe4";

    // solhint-disable func-name-mixedcase
    function AuthorizedAddressMismatchError(
        address authorized,
        address target
    )
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            AUTHORIZED_ADDRESS_MISMATCH_ERROR_SELECTOR,
            authorized,
            target
        );
    }

    function IndexOutOfBoundsError(
        uint256 index,
        uint256 length
    )
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            INDEX_OUT_OF_BOUNDS_ERROR_SELECTOR,
            index,
            length
        );
    }

    function SenderNotAuthorizedError(address sender)
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            SENDER_NOT_AUTHORIZED_ERROR_SELECTOR,
            sender
        );
    }

    function TargetAlreadyAuthorizedError(address target)
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            TARGET_ALREADY_AUTHORIZED_ERROR_SELECTOR,
            target
        );
    }

    function TargetNotAuthorizedError(address target)
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            TARGET_NOT_AUTHORIZED_ERROR_SELECTOR,
            target
        );
    }

    function ZeroCantBeAuthorizedError()
        internal
        pure
        returns (bytes memory)
    {
        return ZERO_CANT_BE_AUTHORIZED_ERROR_BYTES;
    }
}

File 7 of 8 : OwnableV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2019 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/

pragma solidity ^0.6.5;

import "./interfaces/IOwnableV06.sol";
import "./errors/LibRichErrorsV06.sol";
import "./errors/LibOwnableRichErrorsV06.sol";


contract OwnableV06 is
    IOwnableV06
{
    /// @dev The owner of this contract.
    /// @return 0 The owner address.
    address public override owner;

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        _assertSenderIsOwner();
        _;
    }

    /// @dev Change the owner of this contract.
    /// @param newOwner New owner address.
    function transferOwnership(address newOwner)
        public
        override
        onlyOwner
    {
        if (newOwner == address(0)) {
            LibRichErrorsV06.rrevert(LibOwnableRichErrorsV06.TransferOwnerToZeroError());
        } else {
            owner = newOwner;
            emit OwnershipTransferred(msg.sender, newOwner);
        }
    }

    function _assertSenderIsOwner()
        internal
        view
    {
        if (msg.sender != owner) {
            LibRichErrorsV06.rrevert(LibOwnableRichErrorsV06.OnlyOwnerError(
                msg.sender,
                owner
            ));
        }
    }
}

File 8 of 8 : LibOwnableRichErrorsV06.sol
// SPDX-License-Identifier: Apache-2.0
/*

  Copyright 2020 ZeroEx Intl.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/
pragma solidity ^0.6.5;


library LibOwnableRichErrorsV06 {

    // bytes4(keccak256("OnlyOwnerError(address,address)"))
    bytes4 internal constant ONLY_OWNER_ERROR_SELECTOR =
        0x1de45ad1;

    // bytes4(keccak256("TransferOwnerToZeroError()"))
    bytes internal constant TRANSFER_OWNER_TO_ZERO_ERROR_BYTES =
        hex"e69edc3e";

    // solhint-disable func-name-mixedcase
    function OnlyOwnerError(
        address sender,
        address owner
    )
        internal
        pure
        returns (bytes memory)
    {
        return abi.encodeWithSelector(
            ONLY_OWNER_ERROR_SELECTOR,
            sender,
            owner
        );
    }

    function TransferOwnerToZeroError()
        internal
        pure
        returns (bytes memory)
    {
        return TRANSFER_OWNER_TO_ZERO_ERROR_BYTES;
    }
}

Settings
{
  "remappings": [
    "@0x/contracts-utils=/Users/noah0x/Documents/0x/Arbitrum/protocol/node_modules/@0x/contracts-utils",
    "@0x/contracts-erc20=/Users/noah0x/Documents/0x/Arbitrum/protocol/node_modules/@0x/contracts-erc20"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1000000,
    "details": {
      "yul": true,
      "deduplicate": true,
      "cse": true,
      "constantOptimizer": true
    }
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "evmVersion": "istanbul"
}

Contract ABI

[{"inputs":[{"internalType":"address[]","name":"initialAuthorities","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"AuthorizedAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"AuthorizedAddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"deployedAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"Deployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"Killed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addAuthorizedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"authorities","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"name":"deploy","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getAuthorizedAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IKillable","name":"target","type":"address"},{"internalType":"address payable","name":"ethRecipient","type":"address"}],"name":"kill","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"removeAuthorizedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"removeAuthorizedAddressAtIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"toDeploymentNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260016003553480156200001657600080fd5b50604051620012e7380380620012e7833981016040819052620000399162000229565b600080546001600160a01b031916331781555b815181101562000084576200007b8282815181106200006757fe5b60200260200101516200008c60201b60201c565b6001016200004c565b505062000319565b6001600160a01b038116620000c557620000c5620000b46200018f60201b620006731760201c565b620001ad60201b620006aa1760201c565b6001600160a01b03811660009081526001602052604090205460ff1615620001015762000101620000b482620001b560201b620006b21760201c565b6001600160a01b0381166000818152600160208190526040808320805460ff19168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180546001600160a01b03191684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60408051808201909152600481526315d953f960e21b602082015290565b805160208201fd5b606063de16f1a060e01b82604051602401620001d29190620002de565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050919050565b80516001600160a01b03811681146200022357600080fd5b92915050565b600060208083850312156200023c578182fd5b82516001600160401b038082111562000253578384fd5b818501915085601f83011262000267578384fd5b81518181111562000276578485fd5b838102915062000288848301620002f2565b8181528481019084860184860187018a1015620002a3578788fd5b8795505b83861015620002d157620002bc8a826200020b565b835260019590950194918601918601620002a7565b5098975050505050505050565b6001600160a01b0391909116815260200190565b6040518181016001600160401b03811182821017156200031157600080fd5b604052919050565b610fbe80620003296000396000f3fe6080604052600436106100c65760003560e01c80638da5cb5b11610074578063b91816111161004e578063b9181611146101ed578063d39de6e91461021a578063f2fde38b1461023c576100c6565b80638da5cb5b146101a35780639ad26744146101b8578063affed0e0146101d8576100c6565b8063494503d4116100a5578063494503d41461013657806367b04368146101565780637071293914610183576100c6565b8062774360146100cb5780630567e83e146100f457806342f1181e14610116575b600080fd5b6100de6100d9366004610d00565b61025c565b6040516100eb9190610e09565b60405180910390f35b34801561010057600080fd5b5061011461010f366004610db9565b61033b565b005b34801561012257600080fd5b50610114610131366004610cb2565b610404565b34801561014257600080fd5b506100de610151366004610df1565b610418565b34801561016257600080fd5b50610176610171366004610cb2565b61044c565b6040516100eb9190610f43565b34801561018f57600080fd5b5061011461019e366004610cb2565b61045e565b3480156101af57600080fd5b506100de610518565b3480156101c457600080fd5b506101146101d3366004610cd5565b610534565b3480156101e457600080fd5b50610176610546565b3480156101f957600080fd5b5061020d610208366004610cb2565b61054c565b6040516100eb9190610edb565b34801561022657600080fd5b5061022f610561565b6040516100eb9190610e81565b34801561024857600080fd5b50610114610257366004610cb2565b6105d0565b6000610266610751565b600380546001810190915582516020840134f0915073ffffffffffffffffffffffffffffffffffffffff82166102d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102c890610ee6565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090819020829055517f0f7cceb5b8900763db0b46908960abf22a5d055a4a7395b6b83862d93f241d219061032d90849084903390610e51565b60405180910390a150919050565b610343610751565b6040517fc9353cb500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063c9353cb590610395908490600401610e09565b600060405180830381600087803b1580156103af57600080fd5b505af11580156103c3573d6000803e3d6000fd5b505050507fdfbd6241378f1ad47e76019eac61d2c245fdd5709e3fc2cd36641ee506db169382336040516103f8929190610e2a565b60405180910390a15050565b61040c610776565b610415816107bd565b50565b6002818154811061042557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60046020526000908152604090205481565b610466610776565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166104a4576104a461049f826108ee565b6106aa565b60005b600254811015610514578173ffffffffffffffffffffffffffffffffffffffff16600282815481106104d557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561050c576105078282610909565b610514565b6001016104a7565b5050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b61053c610776565b6105148282610909565b60035481565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156105c657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161059b575b5050505050905090565b6105d8610776565b73ffffffffffffffffffffffffffffffffffffffff8116610603576105fe61049f610b84565b610415565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60408051808201909152600481527f57654fe400000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063de16f1a060e01b826040516024016106cd9190610e09565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b3360009081526001602052604090205460ff166107745761077461049f33610bbb565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610774576000546107749061049f90339073ffffffffffffffffffffffffffffffffffffffff16610bd6565b73ffffffffffffffffffffffffffffffffffffffff81166107e3576107e361049f610673565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561081d5761081d61049f826106b2565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b606063eb5108a260e01b826040516024016106cd9190610e09565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109425761094261049f836108ee565b600254811061095d5761095d61049f82600280549050610c78565b8173ffffffffffffffffffffffffffffffffffffffff166002828154811061098157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16146109e3576109e361049f600283815481106109bb57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1684610c95565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610a5e57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610a9157fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002805480610ae457fe5b60008281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055909101909155604051339173ffffffffffffffffffffffffffffffffffffffff8516917f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b09190a35050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b606063b65a25b960e01b826040516024016106cd9190610e09565b6060631de45ad160e01b8383604051602401610bf3929190610e2a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b606063e9f8377160e01b8383604051602401610bf3929190610f4c565b606063140a84db60e01b8383604051602401610bf3929190610e2a565b600060208284031215610cc3578081fd5b8135610cce81610f66565b9392505050565b60008060408385031215610ce7578081fd5b8235610cf281610f66565b946020939093013593505050565b600060208284031215610d11578081fd5b813567ffffffffffffffff80821115610d28578283fd5b818401915084601f830112610d3b578283fd5b813581811115610d49578384fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715610d87578586fd5b604052818152838201602001871015610d9e578485fd5b610daf826020830160208701610f5a565b9695505050505050565b60008060408385031215610dcb578182fd5b8235610dd681610f66565b91506020830135610de681610f66565b809150509250929050565b600060208284031215610e02578081fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b6020808252825182820181905260009190848201906040850190845b81811015610ecf57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610e9d565b50909695505050505050565b901515815260200190565b60208082526021908201527f5472616e73666f726d65724465706c6f7965722f4445504c4f595f4641494c4560408201527f4400000000000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b918252602082015260400190565b82818337506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461041557600080fdfea2646970667358221220b9069d94da3fdae2cd0a1a8f7fbdf22a499c1e114c95c6fd2b06e6383f64727f64736f6c634300060c003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000520dffed1dc6e3e871d944bb473c3d483f5f3fb900000000000000000000000001ba2d1fc567074f18e75fe34b4fcda7330499e100000000000000000000000024420bc8c760787f3eef3b809e81f44d31a9c5a20000000000000000000000006357d96681de4f436b696c8b1bb3b1eadc668660000000000000000000000000ac3c9f9a125f569a3112d1c60e008fa55e159b9200000000000000000000000060908c4037cbb8f3aa040d9fb668ab36280eb871

Deployed Bytecode

0x6080604052600436106100c65760003560e01c80638da5cb5b11610074578063b91816111161004e578063b9181611146101ed578063d39de6e91461021a578063f2fde38b1461023c576100c6565b80638da5cb5b146101a35780639ad26744146101b8578063affed0e0146101d8576100c6565b8063494503d4116100a5578063494503d41461013657806367b04368146101565780637071293914610183576100c6565b8062774360146100cb5780630567e83e146100f457806342f1181e14610116575b600080fd5b6100de6100d9366004610d00565b61025c565b6040516100eb9190610e09565b60405180910390f35b34801561010057600080fd5b5061011461010f366004610db9565b61033b565b005b34801561012257600080fd5b50610114610131366004610cb2565b610404565b34801561014257600080fd5b506100de610151366004610df1565b610418565b34801561016257600080fd5b50610176610171366004610cb2565b61044c565b6040516100eb9190610f43565b34801561018f57600080fd5b5061011461019e366004610cb2565b61045e565b3480156101af57600080fd5b506100de610518565b3480156101c457600080fd5b506101146101d3366004610cd5565b610534565b3480156101e457600080fd5b50610176610546565b3480156101f957600080fd5b5061020d610208366004610cb2565b61054c565b6040516100eb9190610edb565b34801561022657600080fd5b5061022f610561565b6040516100eb9190610e81565b34801561024857600080fd5b50610114610257366004610cb2565b6105d0565b6000610266610751565b600380546001810190915582516020840134f0915073ffffffffffffffffffffffffffffffffffffffff82166102d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102c890610ee6565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090819020829055517f0f7cceb5b8900763db0b46908960abf22a5d055a4a7395b6b83862d93f241d219061032d90849084903390610e51565b60405180910390a150919050565b610343610751565b6040517fc9353cb500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063c9353cb590610395908490600401610e09565b600060405180830381600087803b1580156103af57600080fd5b505af11580156103c3573d6000803e3d6000fd5b505050507fdfbd6241378f1ad47e76019eac61d2c245fdd5709e3fc2cd36641ee506db169382336040516103f8929190610e2a565b60405180910390a15050565b61040c610776565b610415816107bd565b50565b6002818154811061042557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60046020526000908152604090205481565b610466610776565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166104a4576104a461049f826108ee565b6106aa565b60005b600254811015610514578173ffffffffffffffffffffffffffffffffffffffff16600282815481106104d557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561050c576105078282610909565b610514565b6001016104a7565b5050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b61053c610776565b6105148282610909565b60035481565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156105c657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161059b575b5050505050905090565b6105d8610776565b73ffffffffffffffffffffffffffffffffffffffff8116610603576105fe61049f610b84565b610415565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60408051808201909152600481527f57654fe400000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063de16f1a060e01b826040516024016106cd9190610e09565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b3360009081526001602052604090205460ff166107745761077461049f33610bbb565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610774576000546107749061049f90339073ffffffffffffffffffffffffffffffffffffffff16610bd6565b73ffffffffffffffffffffffffffffffffffffffff81166107e3576107e361049f610673565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561081d5761081d61049f826106b2565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b606063eb5108a260e01b826040516024016106cd9190610e09565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109425761094261049f836108ee565b600254811061095d5761095d61049f82600280549050610c78565b8173ffffffffffffffffffffffffffffffffffffffff166002828154811061098157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16146109e3576109e361049f600283815481106109bb57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1684610c95565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610a5e57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610a9157fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002805480610ae457fe5b60008281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055909101909155604051339173ffffffffffffffffffffffffffffffffffffffff8516917f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b09190a35050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b606063b65a25b960e01b826040516024016106cd9190610e09565b6060631de45ad160e01b8383604051602401610bf3929190610e2a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b606063e9f8377160e01b8383604051602401610bf3929190610f4c565b606063140a84db60e01b8383604051602401610bf3929190610e2a565b600060208284031215610cc3578081fd5b8135610cce81610f66565b9392505050565b60008060408385031215610ce7578081fd5b8235610cf281610f66565b946020939093013593505050565b600060208284031215610d11578081fd5b813567ffffffffffffffff80821115610d28578283fd5b818401915084601f830112610d3b578283fd5b813581811115610d49578384fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715610d87578586fd5b604052818152838201602001871015610d9e578485fd5b610daf826020830160208701610f5a565b9695505050505050565b60008060408385031215610dcb578182fd5b8235610dd681610f66565b91506020830135610de681610f66565b809150509250929050565b600060208284031215610e02578081fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b6020808252825182820181905260009190848201906040850190845b81811015610ecf57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610e9d565b50909695505050505050565b901515815260200190565b60208082526021908201527f5472616e73666f726d65724465706c6f7965722f4445504c4f595f4641494c4560408201527f4400000000000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b918252602082015260400190565b82818337506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461041557600080fdfea2646970667358221220b9069d94da3fdae2cd0a1a8f7fbdf22a499c1e114c95c6fd2b06e6383f64727f64736f6c634300060c0033

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

00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000520dffed1dc6e3e871d944bb473c3d483f5f3fb900000000000000000000000001ba2d1fc567074f18e75fe34b4fcda7330499e100000000000000000000000024420bc8c760787f3eef3b809e81f44d31a9c5a20000000000000000000000006357d96681de4f436b696c8b1bb3b1eadc668660000000000000000000000000ac3c9f9a125f569a3112d1c60e008fa55e159b9200000000000000000000000060908c4037cbb8f3aa040d9fb668ab36280eb871

-----Decoded View---------------
Arg [0] : initialAuthorities (address[]): 0x520dffED1dc6e3E871d944bb473C3D483F5F3fB9,0x01BA2d1fC567074f18e75fe34b4fCdA7330499e1,0x24420bC8C760787F3eEF3b809e81f44d31a9c5A2,0x6357d96681DE4F436B696c8B1bB3b1eAdC668660,0xAc3c9f9a125F569a3112d1C60e008fA55e159B92,0x60908C4037cbb8F3AA040D9FB668aB36280eb871

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [2] : 000000000000000000000000520dffed1dc6e3e871d944bb473c3d483f5f3fb9
Arg [3] : 00000000000000000000000001ba2d1fc567074f18e75fe34b4fcda7330499e1
Arg [4] : 00000000000000000000000024420bc8c760787f3eef3b809e81f44d31a9c5a2
Arg [5] : 0000000000000000000000006357d96681de4f436b696c8b1bb3b1eadc668660
Arg [6] : 000000000000000000000000ac3c9f9a125f569a3112d1c60e008fa55e159b92
Arg [7] : 00000000000000000000000060908c4037cbb8f3aa040d9fb668ab36280eb871


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.