From c78e09ac7987be824d253af3168f761acedf19fa Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Thu, 20 Nov 2025 15:20:02 -0800 Subject: [PATCH 01/17] feat: ERC20PermitPermissionedNonBridgeableMintable --- src/contracts/fraxtal/fpi/FPI.sol | 24 +-- src/contracts/fraxtal/frxBTC/FrxBTC.sol | 24 +-- src/contracts/fraxtal/frxUSD/FrxUSD.sol | 24 +-- src/contracts/fraxtal/sfrxETH/SfrxETH.sol | 24 +-- src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol | 24 +-- .../fraxtal/shared/ERC20ExWrappedPPOM.sol | 138 ++---------------- ...ermitPermissionedNonBridgeableMintable.sol | 28 ++++ .../ERC20PermitPermissionedOptiMintable.sol | 13 +- src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol | 7 +- 9 files changed, 59 insertions(+), 247 deletions(-) create mode 100644 src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol diff --git a/src/contracts/fraxtal/fpi/FPI.sol b/src/contracts/fraxtal/fpi/FPI.sol index 843e831..a04cfe5 100644 --- a/src/contracts/fraxtal/fpi/FPI.sol +++ b/src/contracts/fraxtal/fpi/FPI.sol @@ -1,25 +1,7 @@ pragma solidity ^0.8.0; -import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; +import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; -contract FPI is ERC20PermitPermissionedOptiMintable { - /// @param _creator_address The contract creator - /// @param _timelock_address The timelock - /// @param _bridge Address of the L2 standard bridge - /// @param _remoteToken Address of the corresponding L1 token - constructor( - address _creator_address, - address _timelock_address, - address _bridge, - address _remoteToken - ) - ERC20PermitPermissionedOptiMintable( - _creator_address, - _timelock_address, - _bridge, - _remoteToken, - "Frax Price Index", - "FPI" - ) - {} +contract FPI is ERC20PermitPermissionedNonBridgeableMintable { + constructor() ERC20PermitPermissionedNonBridgeableMintable("Frax Price Index", "FPI") {} } diff --git a/src/contracts/fraxtal/frxBTC/FrxBTC.sol b/src/contracts/fraxtal/frxBTC/FrxBTC.sol index 92aa64f..f6bac49 100644 --- a/src/contracts/fraxtal/frxBTC/FrxBTC.sol +++ b/src/contracts/fraxtal/frxBTC/FrxBTC.sol @@ -1,25 +1,7 @@ pragma solidity ^0.8.0; -import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; +import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; -contract FrxBTC is ERC20PermitPermissionedOptiMintable { - /// @param _creator_address The contract creator - /// @param _timelock_address The timelock - /// @param _bridge Address of the L2 standard bridge - /// @param _remoteToken Address of the corresponding L1 token - constructor( - address _creator_address, - address _timelock_address, - address _bridge, - address _remoteToken - ) - ERC20PermitPermissionedOptiMintable( - _creator_address, - _timelock_address, - _bridge, - _remoteToken, - "Frax Bitcoin", - "frxBTC" - ) - {} +contract FrxBTC is ERC20PermitPermissionedNonBridgeableMintable { + constructor() ERC20PermitPermissionedNonBridgeableMintable("Frax Bitcoin", "frxBTC") {} } diff --git a/src/contracts/fraxtal/frxUSD/FrxUSD.sol b/src/contracts/fraxtal/frxUSD/FrxUSD.sol index a84346a..f6da646 100644 --- a/src/contracts/fraxtal/frxUSD/FrxUSD.sol +++ b/src/contracts/fraxtal/frxUSD/FrxUSD.sol @@ -1,33 +1,15 @@ pragma solidity ^0.8.0; -import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; +import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; -contract FrxUSD is ERC20PermitPermissionedOptiMintable { +contract FrxUSD is ERC20PermitPermissionedNonBridgeableMintable { /// @notice Mapping indicating which addresses are frozen mapping(address => bool) public isFrozen; /// @notice Whether or not the contract is paused bool public isPaused; - /// @param _creator_address The contract creator - /// @param _timelock_address The timelock - /// @param _bridge Address of the L2 standard bridge - /// @param _remoteToken Address of the corresponding L1 token - constructor( - address _creator_address, - address _timelock_address, - address _bridge, - address _remoteToken - ) - ERC20PermitPermissionedOptiMintable( - _creator_address, - _timelock_address, - _bridge, - _remoteToken, - "Frax USD", - "frxUSD" - ) - {} + constructor() ERC20PermitPermissionedNonBridgeableMintable("Frax USD", "frxUSD") {} /// @notice External admin gated function to unfreeze a set of accounts /// @param _owners Array of accounts to be unfrozen diff --git a/src/contracts/fraxtal/sfrxETH/SfrxETH.sol b/src/contracts/fraxtal/sfrxETH/SfrxETH.sol index dd17ab0..8bb9f6b 100644 --- a/src/contracts/fraxtal/sfrxETH/SfrxETH.sol +++ b/src/contracts/fraxtal/sfrxETH/SfrxETH.sol @@ -1,26 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later pragma solidity >=0.8.0; -import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; +import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; -contract SfrxETH is ERC20PermitPermissionedOptiMintable { - /// @param _creator_address The contract creator - /// @param _timelock_address The timelock - /// @param _bridge Address of the L2 standard bridge - /// @param _remoteToken Address of the corresponding L1 token - constructor( - address _creator_address, - address _timelock_address, - address _bridge, - address _remoteToken - ) - ERC20PermitPermissionedOptiMintable( - _creator_address, - _timelock_address, - _bridge, - _remoteToken, - "Staked Frax Ether", - "sfrxETH" - ) - {} +contract SfrxETH is ERC20PermitPermissionedNonBridgeableMintable { + constructor() ERC20PermitPermissionedNonBridgeableMintable("Staked Frax Ether", "sfrxETH") {} } diff --git a/src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol b/src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol index 24d40c2..af13d07 100644 --- a/src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol +++ b/src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol @@ -1,25 +1,7 @@ pragma solidity ^0.8.0; -import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; +import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; -contract SfrxUSD is ERC20PermitPermissionedOptiMintable { - /// @param _creator_address The contract creator - /// @param _timelock_address The timelock - /// @param _bridge Address of the L2 standard bridge - /// @param _remoteToken Address of the corresponding L1 token - constructor( - address _creator_address, - address _timelock_address, - address _bridge, - address _remoteToken - ) - ERC20PermitPermissionedOptiMintable( - _creator_address, - _timelock_address, - _bridge, - _remoteToken, - "Staked Frax USD", - "sfrxUSD" - ) - {} +contract SfrxUSD is ERC20PermitPermissionedNonBridgeableMintable { + constructor() ERC20PermitPermissionedNonBridgeableMintable("Staked Frax USD", "sfrxUSD") {} } diff --git a/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol b/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol index bdbee16..c0e3e1d 100644 --- a/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol +++ b/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol @@ -107,111 +107,15 @@ contract ERC20ExWrappedPPOM is // ISemver // ======================================= - /// @custom:semver 1.0.0 - string public version = "1.0.0"; + /// @custom:semver 1.1.0 + string public version = "1.1.0"; /* ========== CONSTRUCTOR ========== */ - // /// @custom:semver 1.0.0 - // /// @param _creator_address The contract creator - // /// @param _timelock_address The timelock - // /// @param _bridge Address of the L2 standard bridge - // /// @param _remoteToken Address of the corresponding L1 token - // /// @param _name ERC20 name - // /// @param _symbol ERC20 symbol - // constructor( - // address _creator_address, - // address _timelock_address, - // address _bridge, - // address _remoteToken, - // string memory _name, - // string memory _symbol - // ) EIP712StoragePad(_name) ERC20ReorderedState(_name, _symbol) OwnedV2(_creator_address) { - // REMOTE_TOKEN = _remoteToken; - // BRIDGE = _bridge; - // timelock_address = _timelock_address; - // } - - constructor() ERC20ReorderedState("Dummy Token", "DUMMY") OwnedV2(msg.sender) { + constructor() ERC20ReorderedState("Dummy Token", "DUMMY") OwnedV2(address(1)) { _disableInitializers(); } - /// @notice Initializer. - /// @param _timelock_address The timelock - /// @param _bridge Address of the L2 standard bridge - /// @param _remoteToken Address of the corresponding L1 token - /// @param _initTotalSupply The totalSupply - /// @param _nameIn ERC20 name - /// @param _symbolIn ERC20 symbol - /// @param _versionIn Version - function initialize( - address _creator_address, - address _timelock_address, - address _bridge, - address _remoteToken, - uint256 _initTotalSupply, - string memory _nameIn, - string memory _symbolIn, - string memory _versionIn - ) public initializer { - // Set version - version = _versionIn; - - // Overwrite _totalSupply storage - //-------------------------------------- - assembly { - sstore(9, _initTotalSupply) - } - - // Overwrite ERC20 _name and _symbol storage - //-------------------------------------- - // Make sure _nameIn and _symbolIn are below 31 bytes - uint256 _nameLength = bytes(_nameIn).length; - uint256 _symbolLength = bytes(_symbolIn).length; - if ((_nameLength >= 32) || (_symbolLength >= 32)) { - revert("Name and/or symbol must be lt 32 bytes"); - } - - // Write to the storage slots - // https://ethereum.stackexchange.com/questions/126269/how-to-store-and-retrieve-string-which-is-more-than-32-bytesor-could-be-less-th - assembly { - // If string length <= 31 we store a short array - // length storage variable layout : - // bytes 0 - 31 : string data - // byte 32 : length * 2 - // data storage variable is UNUSED in this case - sstore(4, or(mload(add(_nameIn, 0x20)), mul(_nameLength, 2))) - sstore(5, or(mload(add(_symbolIn, 0x20)), mul(_symbolLength, 2))) - } - - // Set EIP712 variables - //-------------------------------------- - _SStrName = _nameIn.toShortStringWithFallback(_nameFallback); - _SStrVersion = _versionIn.toShortStringWithFallback(_versionFallback); - _hashedName = keccak256(bytes(_nameIn)); - _hashedVersion = keccak256(bytes(_versionIn)); - _cachedChainId = block.chainid; - _cachedDomainSeparator = _buildDomainSeparator(); - _cachedThis = address(this); - - // Set owner and timelock - //-------------------------------------- - owner = _creator_address; - timelock_address = _timelock_address; - - // Set BRIDGE and REMOTE_TOKEN - //-------------------------------------- - REMOTE_TOKEN = _remoteToken; - BRIDGE = _bridge; - - // Move existing gas tokens to the _creator_address - //-------------------------------------- - (bool success, ) = _creator_address.call{ value: address(this).balance }(""); - if (!success) { - revert TransferFailed(); - } - } - /* ========== MODIFIERS ========== */ /// @notice A modifier that only allows the contract owner or the timelock to call @@ -277,25 +181,15 @@ contract ERC20ExWrappedPPOM is /* ========== RESTRICTED FUNCTIONS [BRIDGE] ========== */ /// @notice Allows the StandardBridge on this network to mint tokens. - /// @param _to Address to mint tokens to. - /// @param _amount Amount of tokens to mint. - function mint( - address _to, - uint256 _amount - ) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) onlyBridge { - _mint(_to, _amount); - emit Mint(_to, _amount); + /// @dev Deprecated in v1.1.0 + function mint(address, uint256) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) onlyBridge { + revert Deprecated(); } /// @notice Allows the StandardBridge on this network to burn tokens. No approval needed - /// @param _from Address to burn tokens from. - /// @param _amount Amount of tokens to burn. - function burn( - address _from, - uint256 _amount - ) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) onlyBridge { - _burn(_from, _amount); - emit Burn(_from, _amount); + /// @dev Deprecated in v1.1.0 + function burn(address, uint256) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) onlyBridge { + revert Deprecated(); } /* ========== RESTRICTED FUNCTIONS [NON-BRIDGE MINTERS] ========== */ @@ -518,16 +412,6 @@ contract ERC20ExWrappedPPOM is /* ========== EVENTS ========== */ - /// @notice Emitted whenever the bridge burns tokens from an account - /// @param account Address of the account tokens are being burned from - /// @param amount Amount of tokens burned - event Burn(address indexed account, uint256 amount); - - /// @notice Emitted whenever the bridge mints tokens to an account - /// @param account Address of the account tokens are being minted for - /// @param amount Amount of tokens minted. - event Mint(address indexed account, uint256 amount); - /// @notice Emitted when a non-bridge minter is added /// @param minter_address Address of the new minter event MinterAdded(address minter_address); @@ -552,6 +436,6 @@ contract ERC20ExWrappedPPOM is /// @param amount Amount of tokens minted event TokenMinterMinted(address indexed from, address indexed to, uint256 amount); - /// @notice Error for when the gas token withdrawal in the initializer fails - error TransferFailed(); + /// @notice Error for deprecated functions + error Deprecated(); } diff --git a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol new file mode 100644 index 0000000..5e7b9c1 --- /dev/null +++ b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; + +/// @title ERC20PermitPermissionedNonBridgeableMintable +/// @notice A native ERC20 token that cannot be bridged via the native bridge +contract ERC20PermitPermissionedNonBridgeableMintable is ERC20PermitPermissionedOptiMintable { + /// @custom:semver 1.0.0 + function version() public pure override returns (string memory) { + return "1.0.0"; + } + + constructor( + string memory _name, + string memory _symbol + ) ERC20PermitPermissionedOptiMintable(address(0), address(0), _name, _symbol) {} + + function mint(address, uint256) external pure override { + revert Deprecated(); + } + + function burn(address, uint256) external pure override { + revert Deprecated(); + } + + error Deprecated(); +} diff --git a/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol b/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol index b357b77..aa10450 100644 --- a/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol +++ b/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol @@ -24,9 +24,9 @@ contract ERC20PermitPermissionedOptiMintable is ILegacyMintableERC20, ISemver { - /// @custom:semver 1.0.0 + /// @custom:semver 1.0.1 function version() public pure virtual returns (string memory) { - return "1.0.0"; + return "1.0.1"; } /// @notice The timelock address @@ -47,24 +47,19 @@ contract ERC20PermitPermissionedOptiMintable is /* ========== CONSTRUCTOR ========== */ - /// @custom:semver 1.0.0 - /// @param _creator_address The contract creator - /// @param _timelock_address The timelock + /// @custom:semver 1.0.1 /// @param _bridge Address of the L2 standard bridge /// @param _remoteToken Address of the corresponding L1 token /// @param _name ERC20 name /// @param _symbol ERC20 symbol constructor( - address _creator_address, - address _timelock_address, address _bridge, address _remoteToken, string memory _name, string memory _symbol - ) ERC20(_name, _symbol) ERC20Permit(_name) OwnedV2(_creator_address) { + ) ERC20(_name, _symbol) ERC20Permit(_name) OwnedV2(address(1)) { REMOTE_TOKEN = _remoteToken; BRIDGE = _bridge; - timelock_address = _timelock_address; } /* ========== MODIFIERS ========== */ diff --git a/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol b/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol index c198f30..573bd0f 100644 --- a/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol +++ b/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol @@ -29,12 +29,7 @@ contract FrxUSD_Fraxtal_Compliance is FraxTest { /// @notice needed to register under coverage report // implV2 = FrxUSD(deployFrxUsdImplementationFraxtal()); // implV2 = FrxUSD(0x00000000cd6f03dd0A6389C40c263838636c2C01); - implV2 = new FrxUSD( - address(1), - address(1), - address(0x4200000000000000000000000000000000000010), - address(0xCAcd6fd266aF91b8AeD52aCCc382b4e165586E29) - ); + implV2 = new FrxUSD(); deal(address(frxusd), al, 5000e18); deal(address(frxusd), bob, 15e18); deal(address(frxusd), carl, 69e18); From c83b708e4cc74717b34ea40e60f866dea8d5c201 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Thu, 20 Nov 2025 15:20:21 -0800 Subject: [PATCH 02/17] add: fpis --- src/contracts/fraxtal/fpis/FPIS.sol | 12 ++++++++++++ src/contracts/fraxtal/fpis/IFPI.sol | 7 +++++++ 2 files changed, 19 insertions(+) create mode 100644 src/contracts/fraxtal/fpis/FPIS.sol create mode 100644 src/contracts/fraxtal/fpis/IFPI.sol diff --git a/src/contracts/fraxtal/fpis/FPIS.sol b/src/contracts/fraxtal/fpis/FPIS.sol new file mode 100644 index 0000000..b5f3472 --- /dev/null +++ b/src/contracts/fraxtal/fpis/FPIS.sol @@ -0,0 +1,12 @@ +pragma solidity ^0.8.0; + +import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; + +contract FPIS is ERC20PermitPermissionedOptiMintable { + /// @param _bridge Address of the L2 standard bridge + /// @param _remoteToken Address of the corresponding L1 token + constructor( + address _bridge, + address _remoteToken + ) ERC20PermitPermissionedOptiMintable(_bridge, _remoteToken, "Frax Price Index Share", "FPIS") {} +} diff --git a/src/contracts/fraxtal/fpis/IFPI.sol b/src/contracts/fraxtal/fpis/IFPI.sol new file mode 100644 index 0000000..f288f33 --- /dev/null +++ b/src/contracts/fraxtal/fpis/IFPI.sol @@ -0,0 +1,7 @@ +pragma solidity ^0.8.0; + +import { IERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/interfaces/IERC20PermitPermissionedOptiMintable.sol"; + +/// @title IFPIS +/// @notice Interface for the FPIS contract +interface IFPIS is IERC20PermitPermissionedOptiMintable {} From 0375b5116a729d5f3dd4d5955246b02451db70bf Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Mon, 24 Nov 2025 13:17:02 -0800 Subject: [PATCH 03/17] revert: 1.0.0 --- src/contracts/fraxtal/fpis/FPIS.sol | 15 ++++++++++++++- .../ERC20PermitPermissionedOptiMintable.sol | 13 +++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/contracts/fraxtal/fpis/FPIS.sol b/src/contracts/fraxtal/fpis/FPIS.sol index b5f3472..08f44f7 100644 --- a/src/contracts/fraxtal/fpis/FPIS.sol +++ b/src/contracts/fraxtal/fpis/FPIS.sol @@ -3,10 +3,23 @@ pragma solidity ^0.8.0; import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; contract FPIS is ERC20PermitPermissionedOptiMintable { + /// @param _creator_address Address of the contract creator + /// @param _timelock_address Address of the timelock /// @param _bridge Address of the L2 standard bridge /// @param _remoteToken Address of the corresponding L1 token constructor( + address _creator_address, + address _timelock_address, address _bridge, address _remoteToken - ) ERC20PermitPermissionedOptiMintable(_bridge, _remoteToken, "Frax Price Index Share", "FPIS") {} + ) + ERC20PermitPermissionedOptiMintable( + _creator_address, + _timelock_address, + _bridge, + _remoteToken, + "Frax Price Index Share", + "FPIS" + ) + {} } diff --git a/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol b/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol index aa10450..b357b77 100644 --- a/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol +++ b/src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol @@ -24,9 +24,9 @@ contract ERC20PermitPermissionedOptiMintable is ILegacyMintableERC20, ISemver { - /// @custom:semver 1.0.1 + /// @custom:semver 1.0.0 function version() public pure virtual returns (string memory) { - return "1.0.1"; + return "1.0.0"; } /// @notice The timelock address @@ -47,19 +47,24 @@ contract ERC20PermitPermissionedOptiMintable is /* ========== CONSTRUCTOR ========== */ - /// @custom:semver 1.0.1 + /// @custom:semver 1.0.0 + /// @param _creator_address The contract creator + /// @param _timelock_address The timelock /// @param _bridge Address of the L2 standard bridge /// @param _remoteToken Address of the corresponding L1 token /// @param _name ERC20 name /// @param _symbol ERC20 symbol constructor( + address _creator_address, + address _timelock_address, address _bridge, address _remoteToken, string memory _name, string memory _symbol - ) ERC20(_name, _symbol) ERC20Permit(_name) OwnedV2(address(1)) { + ) ERC20(_name, _symbol) ERC20Permit(_name) OwnedV2(_creator_address) { REMOTE_TOKEN = _remoteToken; BRIDGE = _bridge; + timelock_address = _timelock_address; } /* ========== MODIFIERS ========== */ From 805bb81cc58d816235109181169fa0245db0db81 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Mon, 24 Nov 2025 13:20:02 -0800 Subject: [PATCH 04/17] fix: compile --- .../shared/ERC20PermitPermissionedNonBridgeableMintable.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol index 5e7b9c1..83dfa9e 100644 --- a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol +++ b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol @@ -14,7 +14,7 @@ contract ERC20PermitPermissionedNonBridgeableMintable is ERC20PermitPermissioned constructor( string memory _name, string memory _symbol - ) ERC20PermitPermissionedOptiMintable(address(0), address(0), _name, _symbol) {} + ) ERC20PermitPermissionedOptiMintable(address(0), address(0), address(0), address(0), _name, _symbol) {} function mint(address, uint256) external pure override { revert Deprecated(); From 59a73c98cdb84d1b0d4eaa6039e6171effdce1ea Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Tue, 2 Dec 2025 11:14:35 -0800 Subject: [PATCH 05/17] fix: zero-address owner --- .../shared/ERC20PermitPermissionedNonBridgeableMintable.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol index 2627055..86faf6a 100644 --- a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol +++ b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol @@ -14,7 +14,7 @@ contract ERC20PermitPermissionedNonBridgeableMintable is ERC20PermitPermissioned constructor( string memory _name, string memory _symbol - ) ERC20PermitPermissionedOptiMintable(address(0), address(0), address(0), address(0), _name, _symbol) {} + ) ERC20PermitPermissionedOptiMintable(address(1), address(0), address(0), address(0), _name, _symbol) {} function mint(address, uint256) external pure override { revert Deprecated(); From ed07ce3c72e8ca715e9e8c8dc6ff947cff127d81 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Tue, 2 Dec 2025 11:14:51 -0800 Subject: [PATCH 06/17] feat: deploy script --- .../DeprecateNativeBridging.json | 47 ++++++ .../DeprecateNativeBridging.s.sol | 143 ++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json create mode 100644 src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol diff --git a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json new file mode 100644 index 0000000..c910109 --- /dev/null +++ b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json @@ -0,0 +1,47 @@ +{ + "chainId": 252, + "createdAt": 1764702807000, + "meta": { + "description": "", + "name": "Transactions Batch" + }, + "transactions": [ + { + "data": "0x9623609d000000000000000000000000fc000000000000000000000000000000000000010000000000000000000000006550284ea5dcb134a45a6f3c80afa2b30bc56fe90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "operation": 0, + "to": "0xfC0000000000000000000000000000000000000a", + "value": "0" + }, + { + "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000008000000000000000000000000e8cd13de17cec6fcd9dd5e0a1465da240f9515360000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "operation": 0, + "to": "0xfC0000000000000000000000000000000000000a", + "value": "0" + }, + { + "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000003000000000000000000000000dc3369c18ff9c077b803c98b6260a186ade9a4260000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "operation": 0, + "to": "0xfC0000000000000000000000000000000000000a", + "value": "0" + }, + { + "data": "0x9623609d000000000000000000000000fc0000000000000000000000000000000000000700000000000000000000000013ee9ace05a91360f847f36ee22729336725a1de0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "operation": 0, + "to": "0xfC0000000000000000000000000000000000000a", + "value": "0" + }, + { + "data": "0x9623609d000000000000000000000000fc0000000000000000000000000000000000000600000000000000000000000056fdaa8ea2fd7ee7a93a15cf8c49a9d3307392ba0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "operation": 0, + "to": "0xfC0000000000000000000000000000000000000a", + "value": "0" + }, + { + "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000005000000000000000000000000d3e09b109c90d98c0afc09ff961f299b2bffb9fe0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "operation": 0, + "to": "0xfC0000000000000000000000000000000000000a", + "value": "0" + } + ], + "version": "1.0" +} diff --git a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol new file mode 100644 index 0000000..2a429f1 --- /dev/null +++ b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol @@ -0,0 +1,143 @@ +pragma solidity ^0.8.0; + +import { BaseScript } from "frax-std/BaseScript.sol"; +import { ERC1967Utils } from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol"; +import { ProxyAdmin, ITransparentUpgradeableProxy } from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; +import { IERC20Metadata } from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; +import { console } from "forge-std/console.sol"; + +import { FrxUSD } from "src/contracts/fraxtal/frxUSD/FrxUSD.sol"; +import { SfrxUSD } from "src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol"; +import { FPI } from "src/contracts/fraxtal/fpi/FPI.sol"; +import { FrxBTC } from "src/contracts/fraxtal/frxBTC/FrxBTC.sol"; +import { FrxETH } from "src/contracts/fraxtal/frxETH/FrxETH.sol"; +import { SfrxETH } from "src/contracts/fraxtal/sfrxETH/SfrxETH.sol"; + +import { SafeTx, SafeTxHelper } from "frax-std/SafeTxHelper.sol"; + +address constant FRXUSD_PROXY = 0xFc00000000000000000000000000000000000001; +address constant SFRXUSD_PROXY = 0xfc00000000000000000000000000000000000008; +address constant FPI_PROXY = 0xFc00000000000000000000000000000000000003; +address constant FRXBTC_PROXY = 0xfC00000000000000000000000000000000000007; +address constant FRXETH_PROXY = 0xFC00000000000000000000000000000000000006; +address constant SFRXETH_PROXY = 0xFC00000000000000000000000000000000000005; + +// forge script src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol --rpc-url https://rpc.frax.com TODO: verify +contract DeployFrxUSD is BaseScript { + address public proxyAdmin; + address public owner; + address public implementation; + SafeTx[] public txs; + SafeTxHelper public txHelper; + + bool public isTest = false; + + function setUp() public override { + bytes32 adminSlot = vm.load(FRXUSD_PROXY, ERC1967Utils.ADMIN_SLOT); + proxyAdmin = address(uint160(uint256(adminSlot))); + owner = ProxyAdmin(proxyAdmin).owner(); + + txHelper = new SafeTxHelper(); + + super.setUp(); + } + + function run() public { + deployAndUpgradeFrxUsd(); + deployAndUpgradeSfrxUsd(); + deployAndUpgradeFpi(); + deployAndUpgradeFrxBtc(); + deployAndUpgradeFrxEth(); + deployAndUpgradeSfrxEth(); + + if (!isTest) generateMsigTx(); + } + + function runTest() public { + isTest = true; + run(); + } + + function deployAndUpgradeFrxUsd() public { + vm.startBroadcast(deployer); + implementation = address(new FrxUSD()); + require(implementation != address(0), "Failed implementation"); + vm.stopBroadcast(); + + upgrade(FRXUSD_PROXY); + } + + function deployAndUpgradeSfrxUsd() public { + vm.startBroadcast(deployer); + implementation = address(new SfrxUSD()); + require(implementation != address(0), "Failed implementation"); + vm.stopBroadcast(); + + upgrade(SFRXUSD_PROXY); + } + + function deployAndUpgradeFpi() public { + vm.startBroadcast(deployer); + implementation = address(new FPI()); + require(implementation != address(0), "Failed implementation"); + vm.stopBroadcast(); + + upgrade(FPI_PROXY); + } + + function deployAndUpgradeFrxBtc() public { + vm.startBroadcast(deployer); + implementation = address(new FrxBTC()); + require(implementation != address(0), "Failed implementation"); + vm.stopBroadcast(); + + upgrade(FRXBTC_PROXY); + } + + function deployAndUpgradeFrxEth() public { + vm.startBroadcast(deployer); + implementation = address(new FrxETH()); + require(implementation != address(0), "Failed implementation"); + vm.stopBroadcast(); + + upgrade(FRXETH_PROXY); + } + + function deployAndUpgradeSfrxEth() public { + vm.startBroadcast(deployer); + implementation = address(new SfrxETH()); + require(implementation != address(0), "Failed implementation"); + vm.stopBroadcast(); + + upgrade(SFRXETH_PROXY); + } + + function upgrade(address proxy) public { + string memory symbolBefore = IERC20Metadata(proxy).symbol(); + + bytes memory initializeData = abi.encodeWithSignature("totalSupply()"); + bytes memory upgradeData = abi.encodeCall( + ProxyAdmin.upgradeAndCall, + (ITransparentUpgradeableProxy(payable(proxy)), implementation, initializeData) + ); + vm.prank(owner); + (bool success, ) = proxyAdmin.call(upgradeData); + require(success, "Upgrade failed"); + + txs.push(SafeTx({ name: "upgrade", to: proxyAdmin, value: 0, data: upgradeData })); + + string memory symbolAfter = IERC20Metadata(proxy).symbol(); + require(keccak256(bytes(symbolBefore)) == keccak256(bytes(symbolAfter)), "Symbol changed"); + } + + function generateMsigTx() public { + string memory root = vm.projectRoot(); + string memory filename = string.concat( + root, + "/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json" + ); + txHelper.writeTxs(txs, filename); + + console.log("Deploy msig tx from %s", owner); + } +} From 232daef6fffffdb2139b1edb8c2dca89e211e727 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Tue, 2 Dec 2025 13:14:24 -0800 Subject: [PATCH 07/17] fix: enable deprecate call --- src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol b/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol index c0e3e1d..82ba1ca 100644 --- a/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol +++ b/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol @@ -182,13 +182,13 @@ contract ERC20ExWrappedPPOM is /// @notice Allows the StandardBridge on this network to mint tokens. /// @dev Deprecated in v1.1.0 - function mint(address, uint256) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) onlyBridge { + function mint(address, uint256) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) { revert Deprecated(); } /// @notice Allows the StandardBridge on this network to burn tokens. No approval needed /// @dev Deprecated in v1.1.0 - function burn(address, uint256) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) onlyBridge { + function burn(address, uint256) external virtual override(IOptimismMintableERC20, ILegacyMintableERC20) { revert Deprecated(); } From 79758d5cf3c9a46096928fde2bc700e23e41e1f2 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Tue, 2 Dec 2025 13:14:49 -0800 Subject: [PATCH 08/17] test: deprecate native bridging --- .../DeprecateNativeBridging.s.sol | 2 +- .../TestDeprecateNativeBridging.t.sol | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol diff --git a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol index 2a429f1..224fd9e 100644 --- a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol +++ b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol @@ -23,7 +23,7 @@ address constant FRXETH_PROXY = 0xFC00000000000000000000000000000000000006; address constant SFRXETH_PROXY = 0xFC00000000000000000000000000000000000005; // forge script src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol --rpc-url https://rpc.frax.com TODO: verify -contract DeployFrxUSD is BaseScript { +contract DeprecateNativeBridging is BaseScript { address public proxyAdmin; address public owner; address public implementation; diff --git a/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol b/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol new file mode 100644 index 0000000..77ffd89 --- /dev/null +++ b/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol @@ -0,0 +1,34 @@ +pragma solidity ^0.8.0; + +import "src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol"; +import "frax-std/FraxTest.sol"; +import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; + +contract TestDeprecateNativeBridging is FraxTest { + DeprecateNativeBridging public script; + + function setUp() public { + vm.createSelectFork("https://rpc.frax.com", 28_000_000); + + script = new DeprecateNativeBridging(); + script.setUp(); + script.runTest(); + } + + function test_CannotBridgeNative() public { + assertBridgeReverted(FRXUSD_PROXY); + assertBridgeReverted(SFRXUSD_PROXY); + assertBridgeReverted(FPI_PROXY); + assertBridgeReverted(FRXBTC_PROXY); + assertBridgeReverted(FRXETH_PROXY); + assertBridgeReverted(SFRXETH_PROXY); + } + + function assertBridgeReverted(address token) internal { + vm.expectRevert(ERC20PermitPermissionedNonBridgeableMintable.Deprecated.selector); + ERC20PermitPermissionedNonBridgeableMintable(token).mint(address(1), 1 ether); + + vm.expectRevert(ERC20PermitPermissionedNonBridgeableMintable.Deprecated.selector); + ERC20PermitPermissionedNonBridgeableMintable(token).burn(address(1), 1 ether); + } +} From 3635812b7b7330854e5591e089200f88f4ceb23c Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Mon, 22 Dec 2025 08:50:14 -0800 Subject: [PATCH 09/17] Update src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../DeprecateNativeBridging.s.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol index 224fd9e..01f0d19 100644 --- a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol +++ b/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol @@ -22,7 +22,7 @@ address constant FRXBTC_PROXY = 0xfC00000000000000000000000000000000000007; address constant FRXETH_PROXY = 0xFC00000000000000000000000000000000000006; address constant SFRXETH_PROXY = 0xFC00000000000000000000000000000000000005; -// forge script src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol --rpc-url https://rpc.frax.com TODO: verify +// forge script src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol --rpc-url https://rpc.frax.com TODO: verify contract DeprecateNativeBridging is BaseScript { address public proxyAdmin; address public owner; From f3ff984a0242270e5b14b01ed81774fe3741aefa Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Mon, 22 Dec 2025 08:51:09 -0800 Subject: [PATCH 10/17] Update src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../TestDeprecateNativeBridging.t.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol b/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol index 77ffd89..00bf08b 100644 --- a/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol +++ b/src/test/2025-12-02-deprecate-native-bridging/TestDeprecateNativeBridging.t.sol @@ -1,6 +1,6 @@ pragma solidity ^0.8.0; -import "src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol"; +import "src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol"; import "frax-std/FraxTest.sol"; import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol"; From b97cc2d4bdfd9d50052ebb51a0844e61b809683e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Dec 2025 16:51:38 +0000 Subject: [PATCH 11/17] Initial plan From 8f2399a673886c538a88be3118c16f4ca65c8254 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Dec 2025 16:55:31 +0000 Subject: [PATCH 12/17] Fix typo: rename nativing-bridging to native-bridging Co-authored-by: pegahcarter <30870580+pegahcarter@users.noreply.github.com> --- .../DeprecateNativeBridging.json | 0 .../DeprecateNativeBridging.s.sol | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/script/fraxtal/{2025-12-02-deprecate-nativing-bridging => 2025-12-02-deprecate-native-bridging}/DeprecateNativeBridging.json (100%) rename src/script/fraxtal/{2025-12-02-deprecate-nativing-bridging => 2025-12-02-deprecate-native-bridging}/DeprecateNativeBridging.s.sol (98%) diff --git a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json similarity index 100% rename from src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json rename to src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json diff --git a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol similarity index 98% rename from src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol rename to src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol index 01f0d19..7c42f20 100644 --- a/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.s.sol +++ b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol @@ -134,7 +134,7 @@ contract DeprecateNativeBridging is BaseScript { string memory root = vm.projectRoot(); string memory filename = string.concat( root, - "/src/script/fraxtal/2025-12-02-deprecate-nativing-bridging/DeprecateNativeBridging.json" + "/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json" ); txHelper.writeTxs(txs, filename); From de163f9d19e31dba79731acd4127115398462cf6 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Fri, 13 Feb 2026 14:26:22 -0800 Subject: [PATCH 13/17] fix: IERC165 compatability --- src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol | 7 +------ .../ERC20PermitPermissionedNonBridgeableMintable.sol | 6 +++++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol b/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol index 82ba1ca..d8a84e9 100644 --- a/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol +++ b/src/contracts/fraxtal/shared/ERC20ExWrappedPPOM.sol @@ -170,12 +170,7 @@ contract ERC20ExWrappedPPOM is /// @param _interfaceId Interface ID to check. /// @return Whether or not the interface is supported by this contract. function supportsInterface(bytes4 _interfaceId) external pure virtual returns (bool) { - bytes4 iface1 = type(IERC165).interfaceId; - // Interface corresponding to the legacy L2StandardERC20. - bytes4 iface2 = type(ILegacyMintableERC20).interfaceId; - // Interface corresponding to the updated OptimismMintableERC20 (this contract). - bytes4 iface3 = type(IOptimismMintableERC20).interfaceId; - return _interfaceId == iface1 || _interfaceId == iface2 || _interfaceId == iface3; + return _interfaceId == type(IERC165).interfaceId; } /* ========== RESTRICTED FUNCTIONS [BRIDGE] ========== */ diff --git a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol index 86faf6a..9a79c4a 100644 --- a/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol +++ b/src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; -import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; +import { ERC20PermitPermissionedOptiMintable, IERC165 } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol"; /// @title ERC20PermitPermissionedNonBridgeableMintable /// @notice A native ERC20 token that cannot be bridged via the native bridge @@ -25,4 +25,8 @@ contract ERC20PermitPermissionedNonBridgeableMintable is ERC20PermitPermissioned } error Deprecated(); + + function supportsInterface(bytes4 _interfaceId) external pure override returns (bool) { + return _interfaceId == type(IERC165).interfaceId; + } } From 518f1eddea6f3be05f5d96ca7f5c41c39ca631d8 Mon Sep 17 00:00:00 2001 From: Thomas Clement Date: Thu, 19 Mar 2026 11:11:21 -0400 Subject: [PATCH 14/17] Fraxtal && Eth Deployments eth:0x0000000048D2c8baf31742f6765383278BAda4d5 && fraxtal:0x0000000083BDf23788585D499EAb0D92A8bEfB1D From 307631fa7a9a1a11976f0aae9f6ea3f9e2cf0e84 Mon Sep 17 00:00:00 2001 From: Thomas Clement Date: Fri, 20 Mar 2026 14:56:12 -0400 Subject: [PATCH 15/17] Add some additional Test Cases --- src/test/FrxUSD/Mainnet/CompilanceTests.t.sol | 283 +++++++++++++++++- 1 file changed, 281 insertions(+), 2 deletions(-) diff --git a/src/test/FrxUSD/Mainnet/CompilanceTests.t.sol b/src/test/FrxUSD/Mainnet/CompilanceTests.t.sol index 33ce68f..b744b4e 100644 --- a/src/test/FrxUSD/Mainnet/CompilanceTests.t.sol +++ b/src/test/FrxUSD/Mainnet/CompilanceTests.t.sol @@ -447,7 +447,7 @@ contract FrxUSD_Mainnet_Compliance is FraxTest { _upgradeFrxUSD(); vm.prank(badActor); - vm.expectRevert(); + vm.expectRevert(bytes4(keccak256("NotFreezer()"))); frxusd.freeze(bob); } @@ -466,7 +466,7 @@ contract FrxUSD_Mainnet_Compliance is FraxTest { targets.push(carl); vm.prank(badActor); - vm.expectRevert(); + vm.expectRevert(bytes4(keccak256("NotFreezer()"))); frxusd.freezeMany(targets); } @@ -911,4 +911,283 @@ contract FrxUSD_Mainnet_Compliance is FraxTest { function test_case() public { _upgradeFrxUSD(); } + + /* + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + <*> Transfer To / Spender Frozen Tests <*> + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + */ + + function test_transfer_to_frozen_reverts() public { + _upgradeFrxUSD(); + + vm.prank(frxusd.owner()); + frxusd.freeze(alice); + + vm.prank(al); + vm.expectRevert(bytes4(keccak256("IsFrozen()"))); + frxusd.transfer(alice, 100e18); + } + + function test_transferFrom_when_spender_frozen_reverts() public { + vm.prank(al); + frxusd.approve(bob, 100e18); + + _upgradeFrxUSD(); + + // freeze bob (the spender / msg.sender), not al (the from) + vm.prank(frxusd.owner()); + frxusd.freeze(bob); + + vm.prank(bob); + vm.expectRevert(bytes4(keccak256("IsFrozen()"))); + frxusd.transferFrom(al, alice, 100e18); + } + + /* + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + <*> Thaw / Unpause Restoration Tests <*> + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + */ + + function test_thaw_restores_transfer() public { + _upgradeAndFreeze(al); + + vm.prank(frxusd.owner()); + frxusd.thaw(al); + + assertEq({ left: frxusd.isFrozen(al), right: false, err: "// THEN: al should no longer be frozen" }); + + uint256 balBefore = frxusd.balanceOf(alice); + vm.prank(al); + frxusd.transfer(alice, 100e18); + assertEq({ + left: frxusd.balanceOf(alice) - balBefore, + right: 100e18, + err: "// THEN: transfer should succeed after thaw" + }); + } + + function test_thawMany_restores_transfers() public { + _upgradeFrxUSD(); + + targets.push(al); + targets.push(carl); + + vm.prank(frxusd.owner()); + frxusd.freezeMany(targets); + + vm.prank(frxusd.owner()); + frxusd.thawMany(targets); + + assertEq({ left: frxusd.isFrozen(al), right: false, err: "// THEN: al should no longer be frozen" }); + assertEq({ left: frxusd.isFrozen(carl), right: false, err: "// THEN: carl should no longer be frozen" }); + + vm.prank(al); + frxusd.transfer(alice, 100e18); + + vm.prank(carl); + frxusd.transfer(alice, 10e18); + } + + function test_unpause_restores_transfer() public { + test_upgrade_and_pause_successful(); + + vm.prank(frxusd.owner()); + frxusd.unpause(); + + assertEq({ left: frxusd.isPaused(), right: false, err: "// THEN: frxusd should not be paused" }); + + uint256 balBefore = frxusd.balanceOf(alice); + vm.prank(al); + frxusd.transfer(alice, 100e18); + assertEq({ + left: frxusd.balanceOf(alice) - balBefore, + right: 100e18, + err: "// THEN: transfer should succeed after unpause" + }); + } + + /* + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + <*> Partial burnMany Test <*> + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + */ + + function test_burnMany_with_specific_amounts() public { + _upgradeFrxUSD(); + + targets.push(al); + targets.push(bob); + targets.push(carl); + + amounts.push(1000e18); + amounts.push(5e18); + amounts.push(69e18); + + vm.prank(frxusd.owner()); + frxusd.burnMany(targets, amounts); + + assertEq({ + left: frxusd.balanceOf(al), + right: 5000e18 - 1000e18, + err: "// THEN: al's balance not decremented correctly" + }); + assertEq({ + left: frxusd.balanceOf(bob), + right: 15e18 - 5e18, + err: "// THEN: bob's balance not decremented correctly" + }); + assertEq({ left: frxusd.balanceOf(carl), right: 0, err: "// THEN: carl's balance not decremented correctly" }); + } + + /* + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + <*> cancelAuthorization Tests <*> + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + */ + + function test_cancelAuthorization_blocks_transferWithAuthorization() public { + _upgradeFrxUSD(); + + (uint8 vCancel, bytes32 rCancel, bytes32 sCancel) = _signCancelAuthorization(al, eip3009Nonce); + FrxUSD(address(frxusd)).cancelAuthorization(al, eip3009Nonce, vCancel, rCancel, sCancel); + + assertTrue( + FrxUSD(address(frxusd)).authorizationState(al, eip3009Nonce), + "// THEN: nonce should be marked used" + ); + + (uint8 v, bytes32 r, bytes32 s) = _signTransferAuthorization(al, bob, 1e18); + + vm.prank(bob); + vm.expectRevert(bytes4(keccak256("UsedOrCanceledAuthorization()"))); + FrxUSD(address(frxusd)).transferWithAuthorization({ + from: al, + to: bob, + value: 1e18, + validAfter: validAfter, + validBefore: validBefore, + nonce: eip3009Nonce, + v: v, + r: r, + s: s + }); + } + + /* + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + <*> Minter Tests <*> + <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> + */ + + function test_addMinter_successful() public { + _upgradeFrxUSD(); + + vm.prank(frxusd.owner()); + FrxUSD(address(frxusd)).addMinter(carl); + + assertTrue(FrxUSD(address(frxusd)).minters(carl), "// THEN: carl should be a minter"); + } + + function test_only_owner_can_addMinter() public { + _upgradeFrxUSD(); + + vm.prank(badActor); + vm.expectRevert(abi.encodeWithSignature("OwnableUnauthorizedAccount(address)", badActor)); + FrxUSD(address(frxusd)).addMinter(carl); + } + + function test_removeMinter_successful() public { + _upgradeFrxUSD(); + + vm.prank(frxusd.owner()); + FrxUSD(address(frxusd)).addMinter(carl); + + vm.prank(frxusd.owner()); + FrxUSD(address(frxusd)).removeMinter(carl); + + assertFalse(FrxUSD(address(frxusd)).minters(carl), "// THEN: carl should no longer be a minter"); + } + + function test_only_owner_can_removeMinter() public { + _upgradeFrxUSD(); + + vm.prank(frxusd.owner()); + FrxUSD(address(frxusd)).addMinter(carl); + + vm.prank(badActor); + vm.expectRevert(abi.encodeWithSignature("OwnableUnauthorizedAccount(address)", badActor)); + FrxUSD(address(frxusd)).removeMinter(carl); + } + + function test_minter_can_mint() public { + _upgradeFrxUSD(); + + vm.prank(frxusd.owner()); + FrxUSD(address(frxusd)).addMinter(carl); + + uint256 supplyBefore = frxusd.totalSupply(); + + vm.prank(carl); + FrxUSD(address(frxusd)).minter_mint(alice, 1000e18); + + assertEq({ left: frxusd.balanceOf(alice), right: 1000e18, err: "// THEN: alice balance not as expected" }); + assertEq({ + left: frxusd.totalSupply(), + right: supplyBefore + 1000e18, + err: "// THEN: total supply not as expected" + }); + } + + function test_non_minter_cannot_mint() public { + _upgradeFrxUSD(); + + vm.prank(badActor); + vm.expectRevert("Only minters"); + FrxUSD(address(frxusd)).minter_mint(alice, 1000e18); + } + + function test_minter_can_burn_from() public { + _upgradeFrxUSD(); + + vm.prank(frxusd.owner()); + FrxUSD(address(frxusd)).addMinter(carl); + + vm.prank(al); + frxusd.approve(carl, 500e18); + + uint256 balBefore = frxusd.balanceOf(al); + + vm.prank(carl); + FrxUSD(address(frxusd)).minter_burn_from(al, 500e18); + + assertEq({ + left: frxusd.balanceOf(al), + right: balBefore - 500e18, + err: "// THEN: al's balance not decremented correctly" + }); + } + + function test_non_minter_cannot_burn_from() public { + _upgradeFrxUSD(); + + vm.prank(al); + frxusd.approve(badActor, 500e18); + + vm.prank(badActor); + vm.expectRevert("Only minters"); + FrxUSD(address(frxusd)).minter_burn_from(al, 500e18); + } + + function _signCancelAuthorization( + address authorizer, + bytes32 nonce + ) internal view returns (uint8 v, bytes32 r, bytes32 s) { + SigUtils.CancelAuthorization memory cancelAuth = SigUtils.CancelAuthorization({ + authorizer: authorizer, + nonce: nonce + }); + (v, r, s) = vm.sign(alPrivateKey, sigUtils.getCancelAuthorizationTypedDataHash(cancelAuth)); + } } From 417220262e5ee62c93f424d6c41d9eb25f76ecdf Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Tue, 31 Mar 2026 14:20:19 -0700 Subject: [PATCH 16/17] ops: deploy implementations --- .../252/run-1774991144688.json | 119 ++++++ .../252/run-1774991610408.json | 356 ++++++++++++++++++ .../252/run-latest.json | 356 ++++++++++++++++++ .../DeprecateNativeBridging.json | 14 +- .../DeprecateNativeBridging.s.sol | 14 +- 5 files changed, 845 insertions(+), 14 deletions(-) create mode 100644 broadcast/DeprecateNativeBridging.s.sol/252/run-1774991144688.json create mode 100644 broadcast/DeprecateNativeBridging.s.sol/252/run-1774991610408.json create mode 100644 broadcast/DeprecateNativeBridging.s.sol/252/run-latest.json diff --git a/broadcast/DeprecateNativeBridging.s.sol/252/run-1774991144688.json b/broadcast/DeprecateNativeBridging.s.sol/252/run-1774991144688.json new file mode 100644 index 0000000..a2b452b --- /dev/null +++ b/broadcast/DeprecateNativeBridging.s.sol/252/run-1774991144688.json @@ -0,0 +1,119 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "FrxUSD", + "contractAddress": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x33a075", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b5060405180604001604052806008815260200167119c985e081554d160c21b81525060405180604001604052806006815260200165199c9e1554d160d21b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b81525085858160039081610086919061031c565b506004610093828261031c565b506100a391508390506005610201565b610120526100b2816006610201565b61014052815160208084019190912060e052815190820120610100524660a05261013e60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661016f57604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610432915050565b5f60208351101561021c5761021583610233565b905061022d565b81610227848261031c565b5060ff90505b92915050565b5f5f829050601f81511115610266578260405163305a27a960e01b815260040161025d91906103da565b60405180910390fd5b80516102718261040f565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a157607f821691505b6020821081036102bf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610317578282111561031757805f5260205f20601f840160051c60208510156102f057505f5b90810190601f840160051c035f5b81811015610313575f838201556001016102fe565b5050505b505050565b81516001600160401b0381111561033557610335610279565b61034981610343845461028d565b846102c5565b6020601f82116001811461037b575f83156103645750848201515b5f19600385901b1c1916600184901b1784556103d3565b5f84815260208120601f198516915b828110156103aa578785015182556020948501946001909201910161038a565b50848210156103c757868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102bf575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161018051612c7c6104a55f395f81816103bf015261071501525f8181610696015261083b01525f611c2d01525f611c0001525f611b2501525f611afd01525f611a5801525f611a8201525f611aac0152612c7c5ff3fe608060405234801561000f575f5ffd5b506004361061037d575f3560e01c806388b7ab63116101d4578063bdacb30311610109578063dd62ed3e116100a9578063e94a010211610079578063e94a0102146107f2578063ee9a31a214610836578063ef55bec61461085d578063f46eccc414610870575f5ffd5b8063dd62ed3e14610785578063e3ee160e146107bd578063e5839836146107d0578063e78cea9214610694575f5ffd5b8063d505accf116100e4578063d505accf1461074c578063d6c0b2c414610713578063d73ced041461075f578063dc6663c714610772575f5ffd5b8063bdacb30314610700578063c01e1bd614610713578063cf09299514610739575f5ffd5b80639fd5a6cf11610174578063afe152271161014f578063afe15227146106ba578063b187bd26146106cd578063b3b20e74146106da578063b7b72899146106ed575f5ffd5b80639fd5a6cf1461066e578063a9059cbb14610681578063ae1f6aaf14610694575f5ffd5b806395d89b41116101af57806395d89b4114610640578063983b2d56146106485780639954baf21461065b5780639dc29fac146104b3575f5ffd5b806388b7ab63146106075780638d1fdf2f1461061a5780638da5cb5b1461062d575f5ffd5b806342966c68116102b55780636c65fd6a1161025557806379cc67901161022557806379cc6790146105be5780637ecebe00146105d15780638456cb59146105e457806384b0196e146105ec575f5ffd5b80636c65fd6a1461055957806370a082311461057b5780637941bc89146105a357806379ba5097146105b6575f5ffd5b806354fd4d501161029057806354fd4d50146104ff5780635a049a70146105205780635ea20216146105335780636a257ebc14610546575f5ffd5b806342966c68146104c6578063526606c9146104d957806353a47bb7146104ec575f5ffd5b80632acd200011610320578063313ce567116102fb578063313ce567146104945780633644e515146104a35780633f4ba83a146104ab57806340c10f19146104b3575f5ffd5b80632acd20001461045b5780632d8b45a91461046e5780633092afd514610481575f5ffd5b8063095ea7b31161035b578063095ea7b31461040e5780631627540c1461042157806318160ddd1461043657806323b872dd14610448575f5ffd5b806301ffc9a714610381578063033964be146103ba57806306fdde03146103f9575b5f5ffd5b6103a561038f366004612448565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103b1565b610401610892565b6040516103b1919061249d565b6103a561041c3660046124ca565b610922565b61043461042f3660046124f2565b61093b565b005b6002545b6040519081526020016103b1565b6103a561045636600461250b565b6109bb565b6104346104693660046124f2565b6109e0565b61043461047c3660046124ca565b610a93565b61043461048f3660046124f2565b610aed565b604051601281526020016103b1565b61043a610ca4565b610434610cb2565b6104346104c13660046124ca565b610d11565b6104346104d4366004612545565b610d2a565b6104346104e73660046124f2565b610d37565b6009546103e1906001600160a01b031681565b6040805180820190915260058152640332e302e360dc1b6020820152610401565b61043461052e36600461256c565b610dee565b6104346105413660046124f2565b610e23565b6104346105543660046124ca565b610e57565b6103a56105673660046124f2565b600f6020525f908152604090205460ff1681565b61043a6105893660046124f2565b6001600160a01b03165f9081526020819052604090205490565b6104346105b13660046124ca565b610ef8565b610434610f91565b6104346105cc3660046124ca565b61102e565b61043a6105df3660046124f2565b611039565b610434611056565b6105f46110b8565b6040516103b197969594939291906125b6565b6104346106153660046126fd565b6110fa565b6104346106283660046124f2565b6111fc565b6008546103e1906001600160a01b031681565b61040161124d565b6104346106563660046124f2565b61125c565b610434610669366004612810565b6113b7565b61043461067c36600461284a565b61141d565b6103a561068f3660046124ca565b6114e6565b7f00000000000000000000000000000000000000000000000000000000000000006103e1565b6104346106c83660046128b7565b6114f3565b600e546103a59060ff1681565b6104346106e8366004612810565b61160b565b6104346106fb366004612975565b611689565b61043461070e3660046124f2565b611749565b7f00000000000000000000000000000000000000000000000000000000000000006103e1565b6104346107473660046126fd565b6117fc565b61043461075a3660046129c8565b611889565b6103e161076d366004612545565b6118a1565b600a546103e1906001600160a01b031681565b61043a610793366004612a2e565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6104346107cb366004612a5f565b6118c9565b6103a56107de3660046124f2565b600d6020525f908152604090205460ff1681565b6103a56108003660046124ca565b6001600160a01b03919091165f9081525f516020612c5c5f395f51905f5260209081526040808320938352929052205460ff1690565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b61043461086b366004612a5f565b611906565b6103a561087e3660046124f2565b600c6020525f908152604090205460ff1681565b6060600380546108a190612ada565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90612ada565b80156109185780601f106108ef57610100808354040283529160200191610918565b820191905f5260205f20905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b5f3361092f818585611938565b60019150505b92915050565b6008546001600160a01b0316331461096657604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336109c8858285611945565b6109d38585856119bb565b60019150505b9392505050565b6008546001600160a01b03163314610a0b57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205460ff16610a4357604051632afd2d5760e11b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805460ff1916905590519182527f9897b394a6b591cfc037421a7ded37d10c937d559efc566379996935ca7e8cb391016109b0565b6008546001600160a01b03163314610abe57604051635fc483c560e01b815260040160405180910390fd5b805f03610adf57506001600160a01b0381165f908152602081905260409020545b610ae98282611a18565b5050565b600a546001600160a01b0316331480610b1057506008546001600160a01b031633145b610b355760405162461bcd60e51b8152600401610b2c90612b12565b60405180910390fd5b6001600160a01b038116610b5b5760405162461bcd60e51b8152600401610b2c90612b41565b6001600160a01b0381165f908152600c602052604090205460ff161515600114610bbe5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b6044820152606401610b2c565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b54811015610c6a57816001600160a01b0316600b8281548110610c0557610c05612b70565b5f918252602090912001546001600160a01b031603610c62575f600b8281548110610c3257610c32612b70565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550610c6a565b600101610bde565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016109b0565b5f610cad611a4c565b905090565b6008546001600160a01b03163314610cdd57604051635fc483c560e01b815260040160405180910390fd5b600e805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933905f90a1565b6040516331cee75f60e21b815260040160405180910390fd5b610d343382611a18565b50565b6008546001600160a01b03163314610d6257604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205460ff1615610d9b57604051631c0bb04560e31b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805460ff1916600117905590519182527f8be40cc857dac82fa5df8b4151dce647ff88a95dcbc51a85bf863880ab67c3d291016109b0565b610e1c8585848487604051602001610e0893929190612b84565b604051602081830303815290604052611689565b5050505050565b6008546001600160a01b03163314610e4e57604051635fc483c560e01b815260040160405180910390fd5b610d3481611b75565b335f908152600c602052604090205460ff161515600114610ea95760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b6044820152606401610b2c565b610eb38282611bc5565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff161515600114610f4a5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b6044820152606401610b2c565b610f54828261102e565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610eec565b6009546001600160a01b03163314610fbc57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610adf823383611945565b6001600160a01b0381165f90815260076020526040812054610935565b6008546001600160a01b0316331461108157604051635fc483c560e01b815260040160405180910390fd5b600e805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752905f90a1565b5f6060805f5f5f60606110c9611bf9565b6110d1611c26565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6001600160a01b038616331461113457604051637f54a22160e11b81523360048201526001600160a01b0387166024820152604401610b2c565b83421161115457604051632ce87eeb60e01b815260040160405180910390fd5b8242106111745760405163a899ef9360e01b815260040160405180910390fd5b61117e8783611c53565b6111dd877fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de85f1b8989898989896040516020016111c19796959493929190612ba7565b6040516020818303038152906040528051906020012083611ca2565b6111e78783611cd2565b6111f2878787611d37565b5050505050505050565b335f908152600f602052604090205460ff1615801561122657506008546001600160a01b03163314155b1561124457604051632afd2d5760e11b815260040160405180910390fd5b610d3481611d4d565b6060600480546108a190612ada565b600a546001600160a01b031633148061127f57506008546001600160a01b031633145b61129b5760405162461bcd60e51b8152600401610b2c90612b12565b6001600160a01b0381166112c15760405162461bcd60e51b8152600401610b2c90612b41565b6001600160a01b0381165f908152600c602052604090205460ff16156113225760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b6044820152606401610b2c565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016109b0565b6008546001600160a01b031633146113e257604051635fc483c560e01b815260040160405180910390fd5b80515f5b818110156114185761141083828151811061140357611403612b70565b6020026020010151611b75565b6001016113e6565b505050565b8142111561146d5760405162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e6500000000000000006044820152606401610b2c565b6114db857f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987878761149e8b611da0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810185905260e0016111c1565b610e1c858585611dc5565b5f3361092f8185856119bb565b6008546001600160a01b0316331461151e57604051635fc483c560e01b815260040160405180910390fd5b815181518114611541576040516307d1a55160e31b815260040160405180910390fd5b5f5b818110156116055782818151811061155d5761155d612b70565b60200260200101515f036115c1576115a284828151811061158057611580612b70565b60200260200101516001600160a01b03165f9081526020819052604090205490565b8382815181106115b4576115b4612b70565b6020026020010181815250505b6115fd8482815181106115d6576115d6612b70565b60200260200101518483815181106115f0576115f0612b70565b6020026020010151611a18565b600101611543565b50505050565b335f908152600f602052604090205460ff1615801561163557506008546001600160a01b03163314155b1561165357604051632afd2d5760e11b815260040160405180910390fd5b80515f5b818110156114185761168183828151811061167457611674612b70565b6020026020010151611d4d565b600101611657565b6116938383611c53565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b03851691810191909152606081018390526116e39084906080016111c1565b6001600160a01b0383165f8181525f516020612c5c5f395f51905f5260209081526040808320868452909152808220805460ff19166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b600a546001600160a01b031633148061176c57506008546001600160a01b031633145b6117885760405162461bcd60e51b8152600401610b2c90612b12565b6001600160a01b0381166117ae5760405162461bcd60e51b8152600401610b2c90612b41565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa906020016109b0565b83421161181c57604051632ce87eeb60e01b815260040160405180910390fd5b82421061183c5760405163a899ef9360e01b815260040160405180910390fd5b6118468783611c53565b6111dd877f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22675f1b8989898989896040516020016111c19796959493929190612ba7565b61189887878787878787611dd0565b50505050505050565b600b81815481106118b0575f80fd5b5f918252602090912001546001600160a01b0316905081565b6118fb89898989898988888b6040516020016118e793929190612b84565b6040516020818303038152906040526117fc565b505050505050505050565b6118fb89898989898988888b60405160200161192493929190612b84565b6040516020818303038152906040526110fa565b6114188383836001611e00565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561160557818110156119ad57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610b2c565b61160584848484035f611e00565b6001600160a01b0383166119e457604051634b637e8f60e11b81525f6004820152602401610b2c565b6001600160a01b038216611a0d5760405163ec442f0560e01b81525f6004820152602401610b2c565b611418838383611ed2565b6001600160a01b038216611a4157604051634b637e8f60e11b81525f6004820152602401610b2c565b610ae9825f83611ed2565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611aa457507f000000000000000000000000000000000000000000000000000000000000000046145b15611ace57507f000000000000000000000000000000000000000000000000000000000000000090565b610cad604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916905590519182527f74bb8c2778db9c683c274e7bfdcb56dba4f1c737411c8182363097eec281eea491016109b0565b6001600160a01b038216611bee5760405163ec442f0560e01b81525f6004820152602401610b2c565b610ae95f8383611ed2565b6060610cad7f00000000000000000000000000000000000000000000000000000000000000006005611f87565b6060610cad7f00000000000000000000000000000000000000000000000000000000000000006006611f87565b5f516020612c5c5f395f51905f526001600160a01b0383165f90815260209182526040808220848352909252205460ff1615610ae95760405163076f007560e21b815260040160405180910390fd5b611cb583611caf84612030565b8361203a565b61141857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0382165f8181525f516020612c5c5f395f51905f5260209081526040808320858452909152808220805460ff19166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b5f611d438484846119bb565b5060019392505050565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916600117905590519182527f4f2a367e694e71282f29ab5eaa04c4c0be45ac5bf2ca74fb67068b98bdc2887d91016109b0565b6001600160a01b0381165f908152600760205260408120805460018101909155610935565b611418838383611938565b61189887878787868689604051602001611dec93929190612b84565b60405160208183030381529060405261141d565b6001600160a01b038416611e295760405163e602df0560e01b81525f6004820152602401610b2c565b6001600160a01b038316611e5257604051634a1406b160e11b81525f6004820152602401610b2c565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561160557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611ec491815260200190565b60405180910390a350505050565b6008546001600160a01b03163314611f7c57600e5460ff1615611f0857604051631309a56360e01b815260040160405180910390fd5b6001600160a01b0382165f908152600d602052604090205460ff1680611f4557506001600160a01b0383165f908152600d602052604090205460ff165b80611f5e5750335f908152600d602052604090205460ff165b15611f7c576040516320edda8f60e11b815260040160405180910390fd5b6114188383836120aa565b606060ff8314611fa157611f9a836121d0565b9050610935565b818054611fad90612ada565b80601f0160208091040260200160405190810160405280929190818152602001828054611fd990612ada565b80156120245780601f10611ffb57610100808354040283529160200191612024565b820191905f5260205f20905b81548152906001019060200180831161200757829003601f168201915b50505050509050610935565b5f6109358261220d565b5f836001600160a01b03163b5f03612098575f5f6120588585612239565b5090925090505f81600381111561207157612071612be3565b14801561208f5750856001600160a01b0316826001600160a01b0316145b925050506109d9565b6120a3848484612282565b90506109d9565b6001600160a01b0383166120d4578060025f8282546120c99190612bf7565b909155506121449050565b6001600160a01b0383165f90815260208190526040902054818110156121265760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610b2c565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166121605760028054829003905561217e565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121c391815260200190565b60405180910390a3505050565b60605f6121dc83612359565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f610935612219611a4c565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f8351604103612270576020840151604085015160608601515f1a61226288828585612380565b95509550955050505061227b565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b031685856040516024016122a2929190612c16565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516122d79190612c2e565b5f60405180830381855afa9150503d805f811461230f576040519150601f19603f3d011682016040523d82523d5f602084013e612314565b606091505b509150915081801561232857506020815110155b801561234f57508051630b135d3f60e11b9061234d9083016020908101908401612c44565b145b9695505050505050565b5f60ff8216601f81111561093557604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156123b957505f9150600390508261243e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561240a573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661243557505f92506001915082905061243e565b92505f91508190505b9450945094915050565b5f60208284031215612458575f5ffd5b81356001600160e01b0319811681146109d9575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109d9602083018461246f565b80356001600160a01b03811681146124c5575f5ffd5b919050565b5f5f604083850312156124db575f5ffd5b6124e4836124af565b946020939093013593505050565b5f60208284031215612502575f5ffd5b6109d9826124af565b5f5f5f6060848603121561251d575f5ffd5b612526846124af565b9250612534602085016124af565b929592945050506040919091013590565b5f60208284031215612555575f5ffd5b5035919050565b803560ff811681146124c5575f5ffd5b5f5f5f5f5f60a08688031215612580575f5ffd5b612589866124af565b94506020860135935061259e6040870161255c565b94979396509394606081013594506080013592915050565b60ff60f81b8816815260e060208201525f6125d460e083018961246f565b82810360408401526125e6818961246f565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561263b57835183526020938401939092019160010161261d565b50909b9a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126895761268961264c565b604052919050565b5f82601f8301126126a0575f5ffd5b813567ffffffffffffffff8111156126ba576126ba61264c565b6126cd601f8201601f1916602001612660565b8181528460208386010111156126e1575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215612713575f5ffd5b61271c886124af565b965061272a602089016124af565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115612761575f5ffd5b61276d8a828b01612691565b91505092959891949750929550565b5f67ffffffffffffffff8211156127955761279561264c565b5060051b60200190565b5f82601f8301126127ae575f5ffd5b81356127c16127bc8261277c565b612660565b8082825260208201915060208360051b8601019250858311156127e2575f5ffd5b602085015b83811015612806576127f8816124af565b8352602092830192016127e7565b5095945050505050565b5f60208284031215612820575f5ffd5b813567ffffffffffffffff811115612836575f5ffd5b6128428482850161279f565b949350505050565b5f5f5f5f5f60a0868803121561285e575f5ffd5b612867866124af565b9450612875602087016124af565b93506040860135925060608601359150608086013567ffffffffffffffff81111561289e575f5ffd5b6128aa88828901612691565b9150509295509295909350565b5f5f604083850312156128c8575f5ffd5b823567ffffffffffffffff8111156128de575f5ffd5b6128ea8582860161279f565b925050602083013567ffffffffffffffff811115612906575f5ffd5b8301601f81018513612916575f5ffd5b80356129246127bc8261277c565b8082825260208201915060208360051b850101925087831115612945575f5ffd5b6020840193505b8284101561296757833582526020938401939091019061294c565b809450505050509250929050565b5f5f5f60608486031215612987575f5ffd5b612990846124af565b925060208401359150604084013567ffffffffffffffff8111156129b2575f5ffd5b6129be86828701612691565b9150509250925092565b5f5f5f5f5f5f5f60e0888a0312156129de575f5ffd5b6129e7886124af565b96506129f5602089016124af565b95506040880135945060608801359350612a116080890161255c565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215612a3f575f5ffd5b612a48836124af565b9150612a56602084016124af565b90509250929050565b5f5f5f5f5f5f5f5f5f6101208a8c031215612a78575f5ffd5b612a818a6124af565b9850612a8f60208b016124af565b975060408a0135965060608a0135955060808a0135945060a08a01359350612ab960c08b0161255c565b989b979a50959894979396929550929360e081013593506101000135919050565b600181811c90821680612aee57607f821691505b602082108103612b0c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b928352602083019190915260f81b6001600160f81b031916604082015260410190565b9687526001600160a01b0395861660208801529390941660408601526060850191909152608084015260a083019190915260c082015260e00190565b634e487b7160e01b5f52602160045260245ffd5b8082018082111561093557634e487b7160e01b5f52601160045260245ffd5b828152604060208201525f612842604083018461246f565b5f82518060208501845e5f920191825250919050565b5f60208284031215612c54575f5ffd5b505191905056fe6607eb842e76408d8b3956685dc6b9da5897a1d9b47edcc993ce266e603fa500", + "nonce": "0x0", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "SfrxUSD", + "contractAddress": "0x7fa9385be102ac3eac297483dd6233d62b3e1496", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x28ce34", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280600f81526020016e14dd185ad95908119c985e081554d1608a1b815250604051806040016040528060078152602001661cd99c9e1554d160ca1b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008e9190610324565b50600461009b8282610324565b506100ab91508390506005610209565b610120526100ba816006610209565b61014052815160208084019190912060e052815190820120610100524660a05261014660e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017757604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b031916929091169190911790555061043a915050565b5f6020835110156102245761021d8361023b565b9050610235565b8161022f8482610324565b5060ff90505b92915050565b5f5f829050601f8151111561026e578260405163305a27a960e01b815260040161026591906103e2565b60405180910390fd5b805161027982610417565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a957607f821691505b6020821081036102c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031f578282111561031f57805f5260205f20601f840160051c60208510156102f857505f5b90810190601f840160051c035f5b8181101561031b575f83820155600101610306565b5050505b505050565b81516001600160401b0381111561033d5761033d610281565b6103518161034b8454610295565b846102cd565b6020601f821160018114610383575f831561036c5750848201515b5f19600385901b1c1916600184901b1784556103db565b5f84815260208120601f198516915b828110156103b25787850151825560209485019460019092019101610392565b50848210156103cf57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c7575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516122a16104ad5f395f81816102b8015261053701525f81816104eb015261063b01525f6114f001525f6114c301525f61140401525f6113dc01525f61133701525f61136101525f61138b01526122a15ff3fe608060405234801561000f575f5ffd5b5060043610610276575f3560e01c806388b7ab6311610156578063cf092995116100ca578063e3ee160e11610084578063e3ee160e146105df578063e78cea92146104e9578063e94a0102146105f2578063ee9a31a214610636578063ef55bec61461065d578063f46eccc414610670575f5ffd5b8063cf0929951461055b578063d505accf1461056e578063d6c0b2c414610535578063d73ced0414610581578063dc6663c714610594578063dd62ed3e146105a7575f5ffd5b80639fd5a6cf1161011b5780639fd5a6cf146104c3578063a9059cbb146104d6578063ae1f6aaf146104e9578063b7b728991461050f578063bdacb30314610522578063c01e1bd614610535575f5ffd5b806388b7ab63146104825780638da5cb5b1461049557806395d89b41146104a8578063983b2d56146104b05780639dc29fac1461037e575f5ffd5b806342966c68116101ed57806370a08231116101b257806370a08231146103fe5780637941bc891461042657806379ba50971461043957806379cc6790146104415780637ecebe001461045457806384b0196e14610467575f5ffd5b806342966c681461039157806353a47bb7146103a457806354fd4d50146103b75780635a049a70146103d85780636a257ebc146103eb575f5ffd5b806318160ddd1161023e57806318160ddd1461032f57806323b872dd146103415780633092afd514610354578063313ce567146103675780633644e5151461037657806340c10f191461037e575f5ffd5b806301ffc9a71461027a578063033964be146102b357806306fdde03146102f2578063095ea7b3146103075780631627540c1461031a575b5f5ffd5b61029e610288366004611c03565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102aa565b6102fa610692565b6040516102aa9190611c58565b61029e610315366004611c85565b610722565b61032d610328366004611cad565b61073b565b005b6002545b6040519081526020016102aa565b61029e61034f366004611cc6565b6107bb565b61032d610362366004611cad565b6107e0565b604051601281526020016102aa565b610333610997565b61032d61038c366004611c85565b6109a5565b61032d61039f366004611d00565b6109be565b6009546102da906001600160a01b031681565b604080518082019091526005815264322e302e3160d81b60208201526102fa565b61032d6103e6366004611d27565b6109cb565b61032d6103f9366004611c85565b610a00565b61033361040c366004611cad565b6001600160a01b03165f9081526020819052604090205490565b61032d610434366004611c85565b610aa1565b61032d610b3a565b61032d61044f366004611c85565b610bd7565b610333610462366004611cad565b610bf0565b61046f610c0d565b6040516102aa9796959493929190611d71565b61032d610490366004611ea6565b610c4f565b6008546102da906001600160a01b031681565b6102fa610d51565b61032d6104be366004611cad565b610d60565b61032d6104d1366004611f25565b610ebb565b61029e6104e4366004611c85565b610f84565b7f00000000000000000000000000000000000000000000000000000000000000006102da565b61032d61051d366004611f92565b610f91565b61032d610530366004611cad565b611051565b7f00000000000000000000000000000000000000000000000000000000000000006102da565b61032d610569366004611ea6565b611104565b61032d61057c366004611fe5565b611191565b6102da61058f366004611d00565b6111a9565b600a546102da906001600160a01b031681565b6103336105b536600461204b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61032d6105ed36600461207c565b6111d1565b61029e610600366004611c85565b6001600160a01b03919091165f9081525f5160206122815f395f51905f5260209081526040808320938352929052205460ff1690565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b61032d61066b36600461207c565b61120e565b61029e61067e366004611cad565b600c6020525f908152604090205460ff1681565b6060600380546106a1906120f7565b80601f01602080910402602001604051908101604052809291908181526020018280546106cd906120f7565b80156107185780601f106106ef57610100808354040283529160200191610718565b820191905f5260205f20905b8154815290600101906020018083116106fb57829003601f168201915b5050505050905090565b5f3361072f818585611240565b60019150505b92915050565b6008546001600160a01b0316331461076657604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336107c8858285611252565b6107d38585856112ce565b60019150505b9392505050565b600a546001600160a01b031633148061080357506008546001600160a01b031633145b6108285760405162461bcd60e51b815260040161081f9061212f565b60405180910390fd5b6001600160a01b03811661084e5760405162461bcd60e51b815260040161081f9061215e565b6001600160a01b0381165f908152600c602052604090205460ff1615156001146108b15760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b604482015260640161081f565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561095d57816001600160a01b0316600b82815481106108f8576108f861218d565b5f918252602090912001546001600160a01b031603610955575f600b82815481106109255761092561218d565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061095d565b6001016108d1565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016107b0565b5f6109a061132b565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6109c83382611454565b50565b6109f985858484876040516020016109e5939291906121a1565b604051602081830303815290604052610f91565b5050505050565b335f908152600c602052604090205460ff161515600114610a525760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b604482015260640161081f565b610a5c8282611488565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff161515600114610af35760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b604482015260640161081f565b610afd8282610bd7565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610a95565b6009546001600160a01b03163314610b6557604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610be2823383611252565b610bec8282611454565b5050565b6001600160a01b0381165f90815260076020526040812054610735565b5f6060805f5f5f6060610c1e6114bc565b610c266114e9565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6001600160a01b0386163314610c8957604051637f54a22160e11b81523360048201526001600160a01b038716602482015260440161081f565b834211610ca957604051632ce87eeb60e01b815260040160405180910390fd5b824210610cc95760405163a899ef9360e01b815260040160405180910390fd5b610cd38783611516565b610d32877fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de85f1b898989898989604051602001610d1697969594939291906121c4565b6040516020818303038152906040528051906020012083611565565b610d3c8783611595565b610d478787876115fa565b5050505050505050565b6060600480546106a1906120f7565b600a546001600160a01b0316331480610d8357506008546001600160a01b031633145b610d9f5760405162461bcd60e51b815260040161081f9061212f565b6001600160a01b038116610dc55760405162461bcd60e51b815260040161081f9061215e565b6001600160a01b0381165f908152600c602052604090205460ff1615610e265760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b604482015260640161081f565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016107b0565b81421115610f0b5760405162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e650000000000000000604482015260640161081f565b610f79857f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9878787610f3c8b611610565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810185905260e001610d16565b6109f9858585611635565b5f3361072f8185856112ce565b610f9b8383611516565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b0385169181019190915260608101839052610feb908490608001610d16565b6001600160a01b0383165f8181525f5160206122815f395f51905f5260209081526040808320868452909152808220805460ff19166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b600a546001600160a01b031633148061107457506008546001600160a01b031633145b6110905760405162461bcd60e51b815260040161081f9061212f565b6001600160a01b0381166110b65760405162461bcd60e51b815260040161081f9061215e565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa906020016107b0565b83421161112457604051632ce87eeb60e01b815260040160405180910390fd5b8242106111445760405163a899ef9360e01b815260040160405180910390fd5b61114e8783611516565b610d32877f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22675f1b898989898989604051602001610d1697969594939291906121c4565b6111a087878787878787611640565b50505050505050565b600b81815481106111b8575f80fd5b5f918252602090912001546001600160a01b0316905081565b61120389898989898988888b6040516020016111ef939291906121a1565b604051602081830303815290604052611104565b505050505050505050565b61120389898989898988888b60405160200161122c939291906121a1565b604051602081830303815290604052610c4f565b61124d8383836001611670565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156112c857818110156112ba57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161081f565b6112c884848484035f611670565b50505050565b6001600160a01b0383166112f757604051634b637e8f60e11b81525f600482015260240161081f565b6001600160a01b0382166113205760405163ec442f0560e01b81525f600482015260240161081f565b61124d838383611742565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138357507f000000000000000000000000000000000000000000000000000000000000000046145b156113ad57507f000000000000000000000000000000000000000000000000000000000000000090565b6109a0604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661147d57604051634b637e8f60e11b81525f600482015260240161081f565b610bec825f83611742565b6001600160a01b0382166114b15760405163ec442f0560e01b81525f600482015260240161081f565b610bec5f8383611742565b60606109a07f00000000000000000000000000000000000000000000000000000000000000006005611868565b60606109a07f00000000000000000000000000000000000000000000000000000000000000006006611868565b5f5160206122815f395f51905f526001600160a01b0383165f90815260209182526040808220848352909252205460ff1615610bec5760405163076f007560e21b815260040160405180910390fd5b6115788361157284611911565b8361191b565b61124d57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0382165f8181525f5160206122815f395f51905f5260209081526040808320858452909152808220805460ff19166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b5f6116068484846112ce565b5060019392505050565b6001600160a01b0381165f908152600760205260408120805460018101909155610735565b61124d838383611240565b6111a08787878786868960405160200161165c939291906121a1565b604051602081830303815290604052610ebb565b6001600160a01b0384166116995760405163e602df0560e01b81525f600482015260240161081f565b6001600160a01b0383166116c257604051634a1406b160e11b81525f600482015260240161081f565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156112c857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161173491815260200190565b60405180910390a350505050565b6001600160a01b03831661176c578060025f8282546117619190612200565b909155506117dc9050565b6001600160a01b0383165f90815260208190526040902054818110156117be5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161081f565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166117f857600280548290039055611816565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185b91815260200190565b60405180910390a3505050565b606060ff83146118825761187b8361198b565b9050610735565b81805461188e906120f7565b80601f01602080910402602001604051908101604052809291908181526020018280546118ba906120f7565b80156119055780601f106118dc57610100808354040283529160200191611905565b820191905f5260205f20905b8154815290600101906020018083116118e857829003601f168201915b50505050509050610735565b5f610735826119c8565b5f836001600160a01b03163b5f03611979575f5f61193985856119f4565b5090925090505f8160038111156119525761195261221f565b1480156119705750856001600160a01b0316826001600160a01b0316145b925050506107d9565b611984848484611a3d565b90506107d9565b60605f61199783611b14565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f6107356119d461132b565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f8351604103611a2b576020840151604085015160608601515f1a611a1d88828585611b3b565b955095509550505050611a36565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b03168585604051602401611a5d929190612233565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b17905251611a929190612253565b5f60405180830381855afa9150503d805f8114611aca576040519150601f19603f3d011682016040523d82523d5f602084013e611acf565b606091505b5091509150818015611ae357506020815110155b8015611b0a57508051630b135d3f60e11b90611b089083016020908101908401612269565b145b9695505050505050565b5f60ff8216601f81111561073557604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611b7457505f91506003905082611bf9565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611bc5573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116611bf057505f925060019150829050611bf9565b92505f91508190505b9450945094915050565b5f60208284031215611c13575f5ffd5b81356001600160e01b0319811681146107d9575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6107d96020830184611c2a565b80356001600160a01b0381168114611c80575f5ffd5b919050565b5f5f60408385031215611c96575f5ffd5b611c9f83611c6a565b946020939093013593505050565b5f60208284031215611cbd575f5ffd5b6107d982611c6a565b5f5f5f60608486031215611cd8575f5ffd5b611ce184611c6a565b9250611cef60208501611c6a565b929592945050506040919091013590565b5f60208284031215611d10575f5ffd5b5035919050565b803560ff81168114611c80575f5ffd5b5f5f5f5f5f60a08688031215611d3b575f5ffd5b611d4486611c6a565b945060208601359350611d5960408701611d17565b94979396509394606081013594506080013592915050565b60ff60f81b8816815260e060208201525f611d8f60e0830189611c2a565b8281036040840152611da18189611c2a565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611df6578351835260209384019390920191600101611dd8565b50909b9a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611e2a575f5ffd5b813567ffffffffffffffff811115611e4457611e44611e07565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611e7357611e73611e07565b604052818152838201602001851015611e8a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215611ebc575f5ffd5b611ec588611c6a565b9650611ed360208901611c6a565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115611f0a575f5ffd5b611f168a828b01611e1b565b91505092959891949750929550565b5f5f5f5f5f60a08688031215611f39575f5ffd5b611f4286611c6a565b9450611f5060208701611c6a565b93506040860135925060608601359150608086013567ffffffffffffffff811115611f79575f5ffd5b611f8588828901611e1b565b9150509295509295909350565b5f5f5f60608486031215611fa4575f5ffd5b611fad84611c6a565b925060208401359150604084013567ffffffffffffffff811115611fcf575f5ffd5b611fdb86828701611e1b565b9150509250925092565b5f5f5f5f5f5f5f60e0888a031215611ffb575f5ffd5b61200488611c6a565b965061201260208901611c6a565b9550604088013594506060880135935061202e60808901611d17565b9699959850939692959460a0840135945060c09093013592915050565b5f5f6040838503121561205c575f5ffd5b61206583611c6a565b915061207360208401611c6a565b90509250929050565b5f5f5f5f5f5f5f5f5f6101208a8c031215612095575f5ffd5b61209e8a611c6a565b98506120ac60208b01611c6a565b975060408a0135965060608a0135955060808a0135945060a08a013593506120d660c08b01611d17565b989b979a50959894979396929550929360e081013593506101000135919050565b600181811c9082168061210b57607f821691505b60208210810361212957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b928352602083019190915260f81b6001600160f81b031916604082015260410190565b9687526001600160a01b0395861660208801529390941660408601526060850191909152608084015260a083019190915260c082015260e00190565b8082018082111561073557634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f61224b6040830184611c2a565b949350505050565b5f82518060208501845e5f920191825250919050565b5f60208284031215612279575f5ffd5b505191905056fe6607eb842e76408d8b3956685dc6b9da5897a1d9b47edcc993ce266e603fa500", + "nonce": "0x1", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "FPI", + "contractAddress": "0x34a1d3fff3958843c43ad80f30b94c510645c316", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x1ea2cb", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280601081526020016f08ce4c2f040a0e4d2c6ca4092dcc8caf60831b8152506040518060400160405280600381526020016246504960e81b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008b9190610321565b5060046100988282610321565b506100a891508390506005610206565b610120526100b7816006610206565b61014052815160208084019190912060e052815190820120610100524660a05261014360e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017457604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610437915050565b5f6020835110156102215761021a83610238565b9050610232565b8161022c8482610321565b5060ff90505b92915050565b5f5f829050601f8151111561026b578260405163305a27a960e01b815260040161026291906103df565b60405180910390fd5b805161027682610414565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a657607f821691505b6020821081036102c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031c578282111561031c57805f5260205f20601f840160051c60208510156102f557505f5b90810190601f840160051c035f5b81811015610318575f83820155600101610303565b5050505b505050565b81516001600160401b0381111561033a5761033a61027e565b61034e816103488454610292565b846102ca565b6020601f821160018114610380575f83156103695750848201515b5f19600385901b1c1916600184901b1784556103d8565b5f84815260208120601f198516915b828110156103af578785015182556020948501946001909201910161038f565b50848210156103cc57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c4575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104aa5f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x2", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "FrxBTC", + "contractAddress": "0x90193c961a926261b756d1e5bb255e67ff9498a1", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x1ea2b6", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280600c81526020016b233930bc102134ba31b7b4b760a11b8152506040518060400160405280600681526020016566727842544360d01b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008a9190610320565b5060046100978282610320565b506100a791508390506005610205565b610120526100b6816006610205565b61014052815160208084019190912060e052815190820120610100524660a05261014260e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017357604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610436915050565b5f6020835110156102205761021983610237565b9050610231565b8161022b8482610320565b5060ff90505b92915050565b5f5f829050601f8151111561026a578260405163305a27a960e01b815260040161026191906103de565b60405180910390fd5b805161027582610413565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a557607f821691505b6020821081036102c357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031b578282111561031b57805f5260205f20601f840160051c60208510156102f457505f5b90810190601f840160051c035f5b81811015610317575f83820155600101610302565b5050505b505050565b81516001600160401b038111156103395761033961027d565b61034d816103478454610291565b846102c9565b6020601f82116001811461037f575f83156103685750848201515b5f19600385901b1c1916600184901b1784556103d7565b5f84815260208120601f198516915b828110156103ae578785015182556020948501946001909201910161038e565b50848210156103cb57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c3575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104a95f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x3", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ERC20ExWrappedPPOM", + "contractAddress": "0xa8452ec99ce0c64f20701db7dd3abdb607c00496", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x201ed0", + "value": "0x0", + "input": "0x6006805460ff1916601217905560c060405260056080908152640312e312e360dc1b60a052601a906100319082610283565b5034801561003d575f5ffd5b5060016040518060400160405280600b81526020016a223ab6b6bc902a37b5b2b760a91b8152506040518060400160405280600581526020016444554d4d5960d81b81525081600490816100919190610283565b50600561009e8282610283565b5050506001600160a01b0381166100c857604051639b15e16f60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15061012961012e565b610341565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561017e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101dd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020857607f821691505b60208210810361022657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027e578282111561027e57805f5260205f20601f840160051c602085101561025757505f5b90810190601f840160051c035f5b8181101561027a575f83820155600101610265565b5050505b505050565b81516001600160401b0381111561029c5761029c6101e0565b6102b0816102aa84546101f4565b8461022c565b6020601f8211600181146102e2575f83156102cb5750848201515b5f19600385901b1c1916600184901b17845561033a565b5f84815260208120601f198516915b8281101561031157878501518255602094850194600190920191016102f1565b508482101561032e57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b6119948061034e5f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c806379ba509711610135578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104be578063dd62ed3e146104d1578063e78cea9214610463578063ee9a31a214610509578063f46eccc41461051c575f5ffd5b8063bdacb30314610474578063c01e1bd614610487578063d505accf14610498578063d6c0b2c414610487578063d73ced04146104ab575f5ffd5b806395d89b41116100fa57806395d89b4114610435578063983b2d561461043d5780639dc29fac14610337578063a9059cbb14610450578063ae1f6aaf14610463575f5ffd5b806379ba5097146103d957806379cc6790146103e15780637ecebe00146103f457806384b0196e146104075780638da5cb5b14610422575f5ffd5b80633644e515116101c157806354fd4d501161018657806354fd4d50146103705780636a257ebc146103785780636eb175541461038b57806370a082311461039e5780637941bc89146103c6575f5ffd5b80633644e515146103265780633eaaf86b1461032e57806340c10f191461033757806342966c681461034a57806353a47bb71461035d575f5ffd5b80631627540c116102075780631627540c146102c457806318160ddd146102d957806323b872dd146102eb5780633092afd5146102fe578063313ce56714610311575f5ffd5b806301ffc9a714610238578063033964be1461027157806306fdde031461029c578063095ea7b3146102b1575b5f5ffd5b61025c610246366004611633565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b601954610284906001600160a01b031681565b6040516001600160a01b039091168152602001610268565b6102a461053e565b604051610268919061168f565b61025c6102bf3660046116bc565b6105ce565b6102d76102d23660046116e4565b6105e7565b005b6009545b604051908152602001610268565b61025c6102f93660046116fd565b610667565b6102d761030c3660046116e4565b61068a565b60065460405160ff9091168152602001610268565b6102dd610841565b6102dd60095481565b6102d76103453660046116bc565b61084f565b6102d7610358366004611737565b610868565b600b54610284906001600160a01b031681565b6102a4610875565b6102d76103863660046116bc565b610901565b6102d7610399366004611737565b6109a2565b6102dd6103ac3660046116e4565b6001600160a01b03165f9081526007602052604090205490565b6102d76103d43660046116bc565b610a26565b6102d7610abf565b6102d76103ef3660046116bc565b610b5c565b6102dd6104023660046116e4565b610b75565b61040f610b92565b604051610268979695949392919061174e565b600a54610284906001600160a01b031681565b6102a4610be8565b6102d761044b3660046116e4565b610bf7565b61025c61045e3660046116bc565b610d52565b6018546001600160a01b0316610284565b6102d76104823660046116e4565b610d5f565b6019546001600160a01b0316610284565b6102d76104a63660046117e4565b610e12565b6102846104b9366004611737565b610f48565b601554610284906001600160a01b031681565b6102dd6104df366004611851565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b601854610284906001600160a01b031681565b61025c61052a3660046116e4565b60176020525f908152604090205460ff1681565b60606004805461054d90611882565b80601f016020809104026020016040519081016040528092919081815260200182805461057990611882565b80156105c45780601f1061059b576101008083540402835291602001916105c4565b820191905f5260205f20905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b5f336105db818585610f70565b60019150505b92915050565b600a546001600160a01b0316331461061257604051635fc483c560e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f33610674858285610f82565b61067f858585610ffd565b506001949350505050565b6015546001600160a01b03163314806106ad5750600a546001600160a01b031633145b6106d25760405162461bcd60e51b81526004016106c9906118ba565b60405180910390fd5b6001600160a01b0381166106f85760405162461bcd60e51b81526004016106c9906118e9565b6001600160a01b0381165f9081526017602052604090205460ff16151560011461075b5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106c9565b6001600160a01b0381165f908152601760205260408120805460ff191690555b60165481101561080757816001600160a01b0316601682815481106107a2576107a2611918565b5f918252602090912001546001600160a01b0316036107ff575f601682815481106107cf576107cf611918565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550610807565b60010161077b565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161065c565b5f61084a61105a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b61087233826110ee565b50565b601a805461088290611882565b80601f01602080910402602001604051908101604052809291908181526020018280546108ae90611882565b80156108f95780601f106108d0576101008083540402835291602001916108f9565b820191905f5260205f20905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b335f9081526017602052604090205460ff1615156001146109535760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106c9565b61095d8282611122565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b6015546001600160a01b03163314806109c55750600a546001600160a01b031633145b6109e15760405162461bcd60e51b81526004016106c9906118ba565b5f811215610a0d576109f281611940565b60095f828254610a02919061195a565b909155506108729050565b8060095f828254610a1e919061196d565b909155505050565b335f9081526017602052604090205460ff161515600114610a785760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106c9565b610a828282610b5c565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610996565b600b546001600160a01b03163314610aea57604051636ba599a760e11b815260040160405180910390fd5b600a54600b54604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600b8054600a80546001600160a01b03199081166001600160a01b03841617909155169055565b610b67823383610f82565b610b7182826110ee565b5050565b6001600160a01b0381165f908152600260205260408120546105e1565b5f6060805f5f5f6060610bb1600c60135461115690919063ffffffff16565b601454610bbf90600d611156565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606005805461054d90611882565b6015546001600160a01b0316331480610c1a5750600a546001600160a01b031633145b610c365760405162461bcd60e51b81526004016106c9906118ba565b6001600160a01b038116610c5c5760405162461bcd60e51b81526004016106c9906118e9565b6001600160a01b0381165f9081526017602052604090205460ff1615610cbd5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106c9565b6001600160a01b0381165f818152601760209081526040808320805460ff191660019081179091556016805491820181559093527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161065c565b5f336105db818585610ffd565b6015546001600160a01b0316331480610d825750600a546001600160a01b031633145b610d9e5760405162461bcd60e51b81526004016106c9906118ba565b6001600160a01b038116610dc45760405162461bcd60e51b81526004016106c9906118e9565b601580546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161065c565b83421115610e365760405163313c898160e11b8152600481018590526024016106c9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610e818c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610edb826111ff565b90505f610eea8287878761122b565b9050896001600160a01b0316816001600160a01b031614610f31576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106c9565b610f3c8a8a8a610f70565b50505050505050505050565b60168181548110610f57575f80fd5b5f918252602090912001546001600160a01b0316905081565b610f7d8383836001611257565b505050565b6001600160a01b038381165f908152600860209081526040808320938616835292905220545f198114610ff75781811015610fe957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106c9565b610ff784848484035f611257565b50505050565b6001600160a01b03831661102657604051634b637e8f60e11b81525f60048201526024016106c9565b6001600160a01b03821661104f5760405163ec442f0560e01b81525f60048201526024016106c9565b610f7d838383611329565b6010545f906001600160a01b0316301480156110775750600f5446145b156110835750600e5490565b61084a601154601254604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661111757604051634b637e8f60e11b81525f60048201526024016106c9565b610b71825f83611329565b6001600160a01b03821661114b5760405163ec442f0560e01b81525f60048201526024016106c9565b610b715f8383611329565b606060ff8314611170576111698361144f565b90506105e1565b81805461117c90611882565b80601f01602080910402602001604051908101604052809291908181526020018280546111a890611882565b80156111f35780601f106111ca576101008083540402835291602001916111f3565b820191905f5260205f20905b8154815290600101906020018083116111d657829003601f168201915b505050505090506105e1565b5f6105e161120b61105a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f61123b8888888861148c565b92509250925061124b8282611554565b50909695505050505050565b6001600160a01b0384166112805760405163e602df0560e01b81525f60048201526024016106c9565b6001600160a01b0383166112a957604051634a1406b160e11b81525f60048201526024016106c9565b6001600160a01b038085165f9081526008602090815260408083209387168352929052208290558015610ff757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161131b91815260200190565b60405180910390a350505050565b6001600160a01b038316611353578060095f828254611348919061196d565b909155506113c39050565b6001600160a01b0383165f90815260076020526040902054818110156113a55760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106c9565b6001600160a01b0384165f9081526007602052604090209082900390555b6001600160a01b0382166113df576009805482900390556113fd565b6001600160a01b0382165f9081526007602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161144291815260200190565b60405180910390a3505050565b60605f61145b8361160c565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156114c557505f9150600390508261154a565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611516573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661154157505f92506001915082905061154a565b92505f91508190505b9450945094915050565b5f82600381111561156757611567611980565b03611570575050565b600182600381111561158457611584611980565b036115a25760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115b6576115b6611980565b036115d75760405163fce698f760e01b8152600481018290526024016106c9565b60038260038111156115eb576115eb611980565b03610b71576040516335e2f38360e21b8152600481018290526024016106c9565b5f60ff8216601f8111156105e157604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611643575f5ffd5b81356001600160e01b03198116811461165a575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61165a6020830184611661565b80356001600160a01b03811681146116b7575f5ffd5b919050565b5f5f604083850312156116cd575f5ffd5b6116d6836116a1565b946020939093013593505050565b5f602082840312156116f4575f5ffd5b61165a826116a1565b5f5f5f6060848603121561170f575f5ffd5b611718846116a1565b9250611726602085016116a1565b929592945050506040919091013590565b5f60208284031215611747575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176c60e0830189611661565b828103604084015261177e8189611661565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d35783518352602093840193909201916001016117b5565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117fa575f5ffd5b611803886116a1565b9650611811602089016116a1565b95506040880135945060608801359350608088013560ff81168114611834575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611862575f5ffd5b61186b836116a1565b9150611879602084016116a1565b90509250929050565b600181811c9082168061189657607f821691505b6020821081036118b457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b82016119545761195461192c565b505f0390565b818103818111156105e1576105e161192c565b808201808211156105e1576105e161192c565b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x4", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "SfrxETH", + "contractAddress": "0xbb2180ebd78ce97360503434ed37fcf4a1df61c3", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x1ea333", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280601181526020017029ba30b5b2b210233930bc1022ba3432b960791b815250604051806040016040528060078152602001660e6cce4f08aa8960cb1b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b815250858581600390816100909190610326565b50600461009d8282610326565b506100ad9150839050600561020b565b610120526100bc81600661020b565b61014052815160208084019190912060e052815190820120610100524660a05261014860e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017957604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b031916929091169190911790555061043c915050565b5f6020835110156102265761021f8361023d565b9050610237565b816102318482610326565b5060ff90505b92915050565b5f5f829050601f81511115610270578260405163305a27a960e01b815260040161026791906103e4565b60405180910390fd5b805161027b82610419565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ab57607f821691505b6020821081036102c957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610321578282111561032157805f5260205f20601f840160051c60208510156102fa57505f5b90810190601f840160051c035f5b8181101561031d575f83820155600101610308565b5050505b505050565b81516001600160401b0381111561033f5761033f610283565b6103538161034d8454610297565b846102cf565b6020601f821160018114610385575f831561036e5750848201515b5f19600385901b1c1916600184901b1784556103dd565b5f84815260208120601f198516915b828110156103b45787850151825560209485019460019092019101610394565b50848210156103d157868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c9575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104af5f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x5", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1774991144688, + "chain": 252, + "commit": "a9c2cdd" +} \ No newline at end of file diff --git a/broadcast/DeprecateNativeBridging.s.sol/252/run-1774991610408.json b/broadcast/DeprecateNativeBridging.s.sol/252/run-1774991610408.json new file mode 100644 index 0000000..65d8760 --- /dev/null +++ b/broadcast/DeprecateNativeBridging.s.sol/252/run-1774991610408.json @@ -0,0 +1,356 @@ +{ + "transactions": [ + { + "hash": "0x1f0a52239622a064fdbe8b00ce45f8df9255869987125ca1d686d9b69527ab92", + "transactionType": "CREATE", + "contractName": "FrxUSD", + "contractAddress": "0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x33a075", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b5060405180604001604052806008815260200167119c985e081554d160c21b81525060405180604001604052806006815260200165199c9e1554d160d21b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b81525085858160039081610086919061031c565b506004610093828261031c565b506100a391508390506005610201565b610120526100b2816006610201565b61014052815160208084019190912060e052815190820120610100524660a05261013e60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661016f57604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610432915050565b5f60208351101561021c5761021583610233565b905061022d565b81610227848261031c565b5060ff90505b92915050565b5f5f829050601f81511115610266578260405163305a27a960e01b815260040161025d91906103da565b60405180910390fd5b80516102718261040f565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a157607f821691505b6020821081036102bf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610317578282111561031757805f5260205f20601f840160051c60208510156102f057505f5b90810190601f840160051c035f5b81811015610313575f838201556001016102fe565b5050505b505050565b81516001600160401b0381111561033557610335610279565b61034981610343845461028d565b846102c5565b6020601f82116001811461037b575f83156103645750848201515b5f19600385901b1c1916600184901b1784556103d3565b5f84815260208120601f198516915b828110156103aa578785015182556020948501946001909201910161038a565b50848210156103c757868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102bf575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161018051612c7c6104a55f395f81816103bf015261071501525f8181610696015261083b01525f611c2d01525f611c0001525f611b2501525f611afd01525f611a5801525f611a8201525f611aac0152612c7c5ff3fe608060405234801561000f575f5ffd5b506004361061037d575f3560e01c806388b7ab63116101d4578063bdacb30311610109578063dd62ed3e116100a9578063e94a010211610079578063e94a0102146107f2578063ee9a31a214610836578063ef55bec61461085d578063f46eccc414610870575f5ffd5b8063dd62ed3e14610785578063e3ee160e146107bd578063e5839836146107d0578063e78cea9214610694575f5ffd5b8063d505accf116100e4578063d505accf1461074c578063d6c0b2c414610713578063d73ced041461075f578063dc6663c714610772575f5ffd5b8063bdacb30314610700578063c01e1bd614610713578063cf09299514610739575f5ffd5b80639fd5a6cf11610174578063afe152271161014f578063afe15227146106ba578063b187bd26146106cd578063b3b20e74146106da578063b7b72899146106ed575f5ffd5b80639fd5a6cf1461066e578063a9059cbb14610681578063ae1f6aaf14610694575f5ffd5b806395d89b41116101af57806395d89b4114610640578063983b2d56146106485780639954baf21461065b5780639dc29fac146104b3575f5ffd5b806388b7ab63146106075780638d1fdf2f1461061a5780638da5cb5b1461062d575f5ffd5b806342966c68116102b55780636c65fd6a1161025557806379cc67901161022557806379cc6790146105be5780637ecebe00146105d15780638456cb59146105e457806384b0196e146105ec575f5ffd5b80636c65fd6a1461055957806370a082311461057b5780637941bc89146105a357806379ba5097146105b6575f5ffd5b806354fd4d501161029057806354fd4d50146104ff5780635a049a70146105205780635ea20216146105335780636a257ebc14610546575f5ffd5b806342966c68146104c6578063526606c9146104d957806353a47bb7146104ec575f5ffd5b80632acd200011610320578063313ce567116102fb578063313ce567146104945780633644e515146104a35780633f4ba83a146104ab57806340c10f19146104b3575f5ffd5b80632acd20001461045b5780632d8b45a91461046e5780633092afd514610481575f5ffd5b8063095ea7b31161035b578063095ea7b31461040e5780631627540c1461042157806318160ddd1461043657806323b872dd14610448575f5ffd5b806301ffc9a714610381578063033964be146103ba57806306fdde03146103f9575b5f5ffd5b6103a561038f366004612448565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103b1565b610401610892565b6040516103b1919061249d565b6103a561041c3660046124ca565b610922565b61043461042f3660046124f2565b61093b565b005b6002545b6040519081526020016103b1565b6103a561045636600461250b565b6109bb565b6104346104693660046124f2565b6109e0565b61043461047c3660046124ca565b610a93565b61043461048f3660046124f2565b610aed565b604051601281526020016103b1565b61043a610ca4565b610434610cb2565b6104346104c13660046124ca565b610d11565b6104346104d4366004612545565b610d2a565b6104346104e73660046124f2565b610d37565b6009546103e1906001600160a01b031681565b6040805180820190915260058152640332e302e360dc1b6020820152610401565b61043461052e36600461256c565b610dee565b6104346105413660046124f2565b610e23565b6104346105543660046124ca565b610e57565b6103a56105673660046124f2565b600f6020525f908152604090205460ff1681565b61043a6105893660046124f2565b6001600160a01b03165f9081526020819052604090205490565b6104346105b13660046124ca565b610ef8565b610434610f91565b6104346105cc3660046124ca565b61102e565b61043a6105df3660046124f2565b611039565b610434611056565b6105f46110b8565b6040516103b197969594939291906125b6565b6104346106153660046126fd565b6110fa565b6104346106283660046124f2565b6111fc565b6008546103e1906001600160a01b031681565b61040161124d565b6104346106563660046124f2565b61125c565b610434610669366004612810565b6113b7565b61043461067c36600461284a565b61141d565b6103a561068f3660046124ca565b6114e6565b7f00000000000000000000000000000000000000000000000000000000000000006103e1565b6104346106c83660046128b7565b6114f3565b600e546103a59060ff1681565b6104346106e8366004612810565b61160b565b6104346106fb366004612975565b611689565b61043461070e3660046124f2565b611749565b7f00000000000000000000000000000000000000000000000000000000000000006103e1565b6104346107473660046126fd565b6117fc565b61043461075a3660046129c8565b611889565b6103e161076d366004612545565b6118a1565b600a546103e1906001600160a01b031681565b61043a610793366004612a2e565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6104346107cb366004612a5f565b6118c9565b6103a56107de3660046124f2565b600d6020525f908152604090205460ff1681565b6103a56108003660046124ca565b6001600160a01b03919091165f9081525f516020612c5c5f395f51905f5260209081526040808320938352929052205460ff1690565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b61043461086b366004612a5f565b611906565b6103a561087e3660046124f2565b600c6020525f908152604090205460ff1681565b6060600380546108a190612ada565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90612ada565b80156109185780601f106108ef57610100808354040283529160200191610918565b820191905f5260205f20905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b5f3361092f818585611938565b60019150505b92915050565b6008546001600160a01b0316331461096657604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336109c8858285611945565b6109d38585856119bb565b60019150505b9392505050565b6008546001600160a01b03163314610a0b57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205460ff16610a4357604051632afd2d5760e11b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805460ff1916905590519182527f9897b394a6b591cfc037421a7ded37d10c937d559efc566379996935ca7e8cb391016109b0565b6008546001600160a01b03163314610abe57604051635fc483c560e01b815260040160405180910390fd5b805f03610adf57506001600160a01b0381165f908152602081905260409020545b610ae98282611a18565b5050565b600a546001600160a01b0316331480610b1057506008546001600160a01b031633145b610b355760405162461bcd60e51b8152600401610b2c90612b12565b60405180910390fd5b6001600160a01b038116610b5b5760405162461bcd60e51b8152600401610b2c90612b41565b6001600160a01b0381165f908152600c602052604090205460ff161515600114610bbe5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b6044820152606401610b2c565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b54811015610c6a57816001600160a01b0316600b8281548110610c0557610c05612b70565b5f918252602090912001546001600160a01b031603610c62575f600b8281548110610c3257610c32612b70565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550610c6a565b600101610bde565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016109b0565b5f610cad611a4c565b905090565b6008546001600160a01b03163314610cdd57604051635fc483c560e01b815260040160405180910390fd5b600e805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933905f90a1565b6040516331cee75f60e21b815260040160405180910390fd5b610d343382611a18565b50565b6008546001600160a01b03163314610d6257604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205460ff1615610d9b57604051631c0bb04560e31b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805460ff1916600117905590519182527f8be40cc857dac82fa5df8b4151dce647ff88a95dcbc51a85bf863880ab67c3d291016109b0565b610e1c8585848487604051602001610e0893929190612b84565b604051602081830303815290604052611689565b5050505050565b6008546001600160a01b03163314610e4e57604051635fc483c560e01b815260040160405180910390fd5b610d3481611b75565b335f908152600c602052604090205460ff161515600114610ea95760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b6044820152606401610b2c565b610eb38282611bc5565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff161515600114610f4a5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b6044820152606401610b2c565b610f54828261102e565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610eec565b6009546001600160a01b03163314610fbc57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610adf823383611945565b6001600160a01b0381165f90815260076020526040812054610935565b6008546001600160a01b0316331461108157604051635fc483c560e01b815260040160405180910390fd5b600e805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752905f90a1565b5f6060805f5f5f60606110c9611bf9565b6110d1611c26565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6001600160a01b038616331461113457604051637f54a22160e11b81523360048201526001600160a01b0387166024820152604401610b2c565b83421161115457604051632ce87eeb60e01b815260040160405180910390fd5b8242106111745760405163a899ef9360e01b815260040160405180910390fd5b61117e8783611c53565b6111dd877fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de85f1b8989898989896040516020016111c19796959493929190612ba7565b6040516020818303038152906040528051906020012083611ca2565b6111e78783611cd2565b6111f2878787611d37565b5050505050505050565b335f908152600f602052604090205460ff1615801561122657506008546001600160a01b03163314155b1561124457604051632afd2d5760e11b815260040160405180910390fd5b610d3481611d4d565b6060600480546108a190612ada565b600a546001600160a01b031633148061127f57506008546001600160a01b031633145b61129b5760405162461bcd60e51b8152600401610b2c90612b12565b6001600160a01b0381166112c15760405162461bcd60e51b8152600401610b2c90612b41565b6001600160a01b0381165f908152600c602052604090205460ff16156113225760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b6044820152606401610b2c565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016109b0565b6008546001600160a01b031633146113e257604051635fc483c560e01b815260040160405180910390fd5b80515f5b818110156114185761141083828151811061140357611403612b70565b6020026020010151611b75565b6001016113e6565b505050565b8142111561146d5760405162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e6500000000000000006044820152606401610b2c565b6114db857f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987878761149e8b611da0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810185905260e0016111c1565b610e1c858585611dc5565b5f3361092f8185856119bb565b6008546001600160a01b0316331461151e57604051635fc483c560e01b815260040160405180910390fd5b815181518114611541576040516307d1a55160e31b815260040160405180910390fd5b5f5b818110156116055782818151811061155d5761155d612b70565b60200260200101515f036115c1576115a284828151811061158057611580612b70565b60200260200101516001600160a01b03165f9081526020819052604090205490565b8382815181106115b4576115b4612b70565b6020026020010181815250505b6115fd8482815181106115d6576115d6612b70565b60200260200101518483815181106115f0576115f0612b70565b6020026020010151611a18565b600101611543565b50505050565b335f908152600f602052604090205460ff1615801561163557506008546001600160a01b03163314155b1561165357604051632afd2d5760e11b815260040160405180910390fd5b80515f5b818110156114185761168183828151811061167457611674612b70565b6020026020010151611d4d565b600101611657565b6116938383611c53565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b03851691810191909152606081018390526116e39084906080016111c1565b6001600160a01b0383165f8181525f516020612c5c5f395f51905f5260209081526040808320868452909152808220805460ff19166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b600a546001600160a01b031633148061176c57506008546001600160a01b031633145b6117885760405162461bcd60e51b8152600401610b2c90612b12565b6001600160a01b0381166117ae5760405162461bcd60e51b8152600401610b2c90612b41565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa906020016109b0565b83421161181c57604051632ce87eeb60e01b815260040160405180910390fd5b82421061183c5760405163a899ef9360e01b815260040160405180910390fd5b6118468783611c53565b6111dd877f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22675f1b8989898989896040516020016111c19796959493929190612ba7565b61189887878787878787611dd0565b50505050505050565b600b81815481106118b0575f80fd5b5f918252602090912001546001600160a01b0316905081565b6118fb89898989898988888b6040516020016118e793929190612b84565b6040516020818303038152906040526117fc565b505050505050505050565b6118fb89898989898988888b60405160200161192493929190612b84565b6040516020818303038152906040526110fa565b6114188383836001611e00565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561160557818110156119ad57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610b2c565b61160584848484035f611e00565b6001600160a01b0383166119e457604051634b637e8f60e11b81525f6004820152602401610b2c565b6001600160a01b038216611a0d5760405163ec442f0560e01b81525f6004820152602401610b2c565b611418838383611ed2565b6001600160a01b038216611a4157604051634b637e8f60e11b81525f6004820152602401610b2c565b610ae9825f83611ed2565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611aa457507f000000000000000000000000000000000000000000000000000000000000000046145b15611ace57507f000000000000000000000000000000000000000000000000000000000000000090565b610cad604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916905590519182527f74bb8c2778db9c683c274e7bfdcb56dba4f1c737411c8182363097eec281eea491016109b0565b6001600160a01b038216611bee5760405163ec442f0560e01b81525f6004820152602401610b2c565b610ae95f8383611ed2565b6060610cad7f00000000000000000000000000000000000000000000000000000000000000006005611f87565b6060610cad7f00000000000000000000000000000000000000000000000000000000000000006006611f87565b5f516020612c5c5f395f51905f526001600160a01b0383165f90815260209182526040808220848352909252205460ff1615610ae95760405163076f007560e21b815260040160405180910390fd5b611cb583611caf84612030565b8361203a565b61141857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0382165f8181525f516020612c5c5f395f51905f5260209081526040808320858452909152808220805460ff19166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b5f611d438484846119bb565b5060019392505050565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916600117905590519182527f4f2a367e694e71282f29ab5eaa04c4c0be45ac5bf2ca74fb67068b98bdc2887d91016109b0565b6001600160a01b0381165f908152600760205260408120805460018101909155610935565b611418838383611938565b61189887878787868689604051602001611dec93929190612b84565b60405160208183030381529060405261141d565b6001600160a01b038416611e295760405163e602df0560e01b81525f6004820152602401610b2c565b6001600160a01b038316611e5257604051634a1406b160e11b81525f6004820152602401610b2c565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561160557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611ec491815260200190565b60405180910390a350505050565b6008546001600160a01b03163314611f7c57600e5460ff1615611f0857604051631309a56360e01b815260040160405180910390fd5b6001600160a01b0382165f908152600d602052604090205460ff1680611f4557506001600160a01b0383165f908152600d602052604090205460ff165b80611f5e5750335f908152600d602052604090205460ff165b15611f7c576040516320edda8f60e11b815260040160405180910390fd5b6114188383836120aa565b606060ff8314611fa157611f9a836121d0565b9050610935565b818054611fad90612ada565b80601f0160208091040260200160405190810160405280929190818152602001828054611fd990612ada565b80156120245780601f10611ffb57610100808354040283529160200191612024565b820191905f5260205f20905b81548152906001019060200180831161200757829003601f168201915b50505050509050610935565b5f6109358261220d565b5f836001600160a01b03163b5f03612098575f5f6120588585612239565b5090925090505f81600381111561207157612071612be3565b14801561208f5750856001600160a01b0316826001600160a01b0316145b925050506109d9565b6120a3848484612282565b90506109d9565b6001600160a01b0383166120d4578060025f8282546120c99190612bf7565b909155506121449050565b6001600160a01b0383165f90815260208190526040902054818110156121265760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610b2c565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166121605760028054829003905561217e565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121c391815260200190565b60405180910390a3505050565b60605f6121dc83612359565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f610935612219611a4c565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f8351604103612270576020840151604085015160608601515f1a61226288828585612380565b95509550955050505061227b565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b031685856040516024016122a2929190612c16565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516122d79190612c2e565b5f60405180830381855afa9150503d805f811461230f576040519150601f19603f3d011682016040523d82523d5f602084013e612314565b606091505b509150915081801561232857506020815110155b801561234f57508051630b135d3f60e11b9061234d9083016020908101908401612c44565b145b9695505050505050565b5f60ff8216601f81111561093557604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156123b957505f9150600390508261243e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561240a573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661243557505f92506001915082905061243e565b92505f91508190505b9450945094915050565b5f60208284031215612458575f5ffd5b81356001600160e01b0319811681146109d9575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109d9602083018461246f565b80356001600160a01b03811681146124c5575f5ffd5b919050565b5f5f604083850312156124db575f5ffd5b6124e4836124af565b946020939093013593505050565b5f60208284031215612502575f5ffd5b6109d9826124af565b5f5f5f6060848603121561251d575f5ffd5b612526846124af565b9250612534602085016124af565b929592945050506040919091013590565b5f60208284031215612555575f5ffd5b5035919050565b803560ff811681146124c5575f5ffd5b5f5f5f5f5f60a08688031215612580575f5ffd5b612589866124af565b94506020860135935061259e6040870161255c565b94979396509394606081013594506080013592915050565b60ff60f81b8816815260e060208201525f6125d460e083018961246f565b82810360408401526125e6818961246f565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561263b57835183526020938401939092019160010161261d565b50909b9a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126895761268961264c565b604052919050565b5f82601f8301126126a0575f5ffd5b813567ffffffffffffffff8111156126ba576126ba61264c565b6126cd601f8201601f1916602001612660565b8181528460208386010111156126e1575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215612713575f5ffd5b61271c886124af565b965061272a602089016124af565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115612761575f5ffd5b61276d8a828b01612691565b91505092959891949750929550565b5f67ffffffffffffffff8211156127955761279561264c565b5060051b60200190565b5f82601f8301126127ae575f5ffd5b81356127c16127bc8261277c565b612660565b8082825260208201915060208360051b8601019250858311156127e2575f5ffd5b602085015b83811015612806576127f8816124af565b8352602092830192016127e7565b5095945050505050565b5f60208284031215612820575f5ffd5b813567ffffffffffffffff811115612836575f5ffd5b6128428482850161279f565b949350505050565b5f5f5f5f5f60a0868803121561285e575f5ffd5b612867866124af565b9450612875602087016124af565b93506040860135925060608601359150608086013567ffffffffffffffff81111561289e575f5ffd5b6128aa88828901612691565b9150509295509295909350565b5f5f604083850312156128c8575f5ffd5b823567ffffffffffffffff8111156128de575f5ffd5b6128ea8582860161279f565b925050602083013567ffffffffffffffff811115612906575f5ffd5b8301601f81018513612916575f5ffd5b80356129246127bc8261277c565b8082825260208201915060208360051b850101925087831115612945575f5ffd5b6020840193505b8284101561296757833582526020938401939091019061294c565b809450505050509250929050565b5f5f5f60608486031215612987575f5ffd5b612990846124af565b925060208401359150604084013567ffffffffffffffff8111156129b2575f5ffd5b6129be86828701612691565b9150509250925092565b5f5f5f5f5f5f5f60e0888a0312156129de575f5ffd5b6129e7886124af565b96506129f5602089016124af565b95506040880135945060608801359350612a116080890161255c565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215612a3f575f5ffd5b612a48836124af565b9150612a56602084016124af565b90509250929050565b5f5f5f5f5f5f5f5f5f6101208a8c031215612a78575f5ffd5b612a818a6124af565b9850612a8f60208b016124af565b975060408a0135965060608a0135955060808a0135945060a08a01359350612ab960c08b0161255c565b989b979a50959894979396929550929360e081013593506101000135919050565b600181811c90821680612aee57607f821691505b602082108103612b0c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b928352602083019190915260f81b6001600160f81b031916604082015260410190565b9687526001600160a01b0395861660208801529390941660408601526060850191909152608084015260a083019190915260c082015260e00190565b634e487b7160e01b5f52602160045260245ffd5b8082018082111561093557634e487b7160e01b5f52601160045260245ffd5b828152604060208201525f612842604083018461246f565b5f82518060208501845e5f920191825250919050565b5f60208284031215612c54575f5ffd5b505191905056fe6607eb842e76408d8b3956685dc6b9da5897a1d9b47edcc993ce266e603fa500", + "nonce": "0x1c", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionType": "CREATE", + "contractName": "SfrxUSD", + "contractAddress": "0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x28ce34", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280600f81526020016e14dd185ad95908119c985e081554d1608a1b815250604051806040016040528060078152602001661cd99c9e1554d160ca1b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008e9190610324565b50600461009b8282610324565b506100ab91508390506005610209565b610120526100ba816006610209565b61014052815160208084019190912060e052815190820120610100524660a05261014660e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017757604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b031916929091169190911790555061043a915050565b5f6020835110156102245761021d8361023b565b9050610235565b8161022f8482610324565b5060ff90505b92915050565b5f5f829050601f8151111561026e578260405163305a27a960e01b815260040161026591906103e2565b60405180910390fd5b805161027982610417565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a957607f821691505b6020821081036102c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031f578282111561031f57805f5260205f20601f840160051c60208510156102f857505f5b90810190601f840160051c035f5b8181101561031b575f83820155600101610306565b5050505b505050565b81516001600160401b0381111561033d5761033d610281565b6103518161034b8454610295565b846102cd565b6020601f821160018114610383575f831561036c5750848201515b5f19600385901b1c1916600184901b1784556103db565b5f84815260208120601f198516915b828110156103b25787850151825560209485019460019092019101610392565b50848210156103cf57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c7575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516122a16104ad5f395f81816102b8015261053701525f81816104eb015261063b01525f6114f001525f6114c301525f61140401525f6113dc01525f61133701525f61136101525f61138b01526122a15ff3fe608060405234801561000f575f5ffd5b5060043610610276575f3560e01c806388b7ab6311610156578063cf092995116100ca578063e3ee160e11610084578063e3ee160e146105df578063e78cea92146104e9578063e94a0102146105f2578063ee9a31a214610636578063ef55bec61461065d578063f46eccc414610670575f5ffd5b8063cf0929951461055b578063d505accf1461056e578063d6c0b2c414610535578063d73ced0414610581578063dc6663c714610594578063dd62ed3e146105a7575f5ffd5b80639fd5a6cf1161011b5780639fd5a6cf146104c3578063a9059cbb146104d6578063ae1f6aaf146104e9578063b7b728991461050f578063bdacb30314610522578063c01e1bd614610535575f5ffd5b806388b7ab63146104825780638da5cb5b1461049557806395d89b41146104a8578063983b2d56146104b05780639dc29fac1461037e575f5ffd5b806342966c68116101ed57806370a08231116101b257806370a08231146103fe5780637941bc891461042657806379ba50971461043957806379cc6790146104415780637ecebe001461045457806384b0196e14610467575f5ffd5b806342966c681461039157806353a47bb7146103a457806354fd4d50146103b75780635a049a70146103d85780636a257ebc146103eb575f5ffd5b806318160ddd1161023e57806318160ddd1461032f57806323b872dd146103415780633092afd514610354578063313ce567146103675780633644e5151461037657806340c10f191461037e575f5ffd5b806301ffc9a71461027a578063033964be146102b357806306fdde03146102f2578063095ea7b3146103075780631627540c1461031a575b5f5ffd5b61029e610288366004611c03565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102aa565b6102fa610692565b6040516102aa9190611c58565b61029e610315366004611c85565b610722565b61032d610328366004611cad565b61073b565b005b6002545b6040519081526020016102aa565b61029e61034f366004611cc6565b6107bb565b61032d610362366004611cad565b6107e0565b604051601281526020016102aa565b610333610997565b61032d61038c366004611c85565b6109a5565b61032d61039f366004611d00565b6109be565b6009546102da906001600160a01b031681565b604080518082019091526005815264322e302e3160d81b60208201526102fa565b61032d6103e6366004611d27565b6109cb565b61032d6103f9366004611c85565b610a00565b61033361040c366004611cad565b6001600160a01b03165f9081526020819052604090205490565b61032d610434366004611c85565b610aa1565b61032d610b3a565b61032d61044f366004611c85565b610bd7565b610333610462366004611cad565b610bf0565b61046f610c0d565b6040516102aa9796959493929190611d71565b61032d610490366004611ea6565b610c4f565b6008546102da906001600160a01b031681565b6102fa610d51565b61032d6104be366004611cad565b610d60565b61032d6104d1366004611f25565b610ebb565b61029e6104e4366004611c85565b610f84565b7f00000000000000000000000000000000000000000000000000000000000000006102da565b61032d61051d366004611f92565b610f91565b61032d610530366004611cad565b611051565b7f00000000000000000000000000000000000000000000000000000000000000006102da565b61032d610569366004611ea6565b611104565b61032d61057c366004611fe5565b611191565b6102da61058f366004611d00565b6111a9565b600a546102da906001600160a01b031681565b6103336105b536600461204b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61032d6105ed36600461207c565b6111d1565b61029e610600366004611c85565b6001600160a01b03919091165f9081525f5160206122815f395f51905f5260209081526040808320938352929052205460ff1690565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b61032d61066b36600461207c565b61120e565b61029e61067e366004611cad565b600c6020525f908152604090205460ff1681565b6060600380546106a1906120f7565b80601f01602080910402602001604051908101604052809291908181526020018280546106cd906120f7565b80156107185780601f106106ef57610100808354040283529160200191610718565b820191905f5260205f20905b8154815290600101906020018083116106fb57829003601f168201915b5050505050905090565b5f3361072f818585611240565b60019150505b92915050565b6008546001600160a01b0316331461076657604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336107c8858285611252565b6107d38585856112ce565b60019150505b9392505050565b600a546001600160a01b031633148061080357506008546001600160a01b031633145b6108285760405162461bcd60e51b815260040161081f9061212f565b60405180910390fd5b6001600160a01b03811661084e5760405162461bcd60e51b815260040161081f9061215e565b6001600160a01b0381165f908152600c602052604090205460ff1615156001146108b15760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b604482015260640161081f565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561095d57816001600160a01b0316600b82815481106108f8576108f861218d565b5f918252602090912001546001600160a01b031603610955575f600b82815481106109255761092561218d565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061095d565b6001016108d1565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016107b0565b5f6109a061132b565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6109c83382611454565b50565b6109f985858484876040516020016109e5939291906121a1565b604051602081830303815290604052610f91565b5050505050565b335f908152600c602052604090205460ff161515600114610a525760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b604482015260640161081f565b610a5c8282611488565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff161515600114610af35760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b604482015260640161081f565b610afd8282610bd7565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610a95565b6009546001600160a01b03163314610b6557604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610be2823383611252565b610bec8282611454565b5050565b6001600160a01b0381165f90815260076020526040812054610735565b5f6060805f5f5f6060610c1e6114bc565b610c266114e9565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6001600160a01b0386163314610c8957604051637f54a22160e11b81523360048201526001600160a01b038716602482015260440161081f565b834211610ca957604051632ce87eeb60e01b815260040160405180910390fd5b824210610cc95760405163a899ef9360e01b815260040160405180910390fd5b610cd38783611516565b610d32877fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de85f1b898989898989604051602001610d1697969594939291906121c4565b6040516020818303038152906040528051906020012083611565565b610d3c8783611595565b610d478787876115fa565b5050505050505050565b6060600480546106a1906120f7565b600a546001600160a01b0316331480610d8357506008546001600160a01b031633145b610d9f5760405162461bcd60e51b815260040161081f9061212f565b6001600160a01b038116610dc55760405162461bcd60e51b815260040161081f9061215e565b6001600160a01b0381165f908152600c602052604090205460ff1615610e265760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b604482015260640161081f565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016107b0565b81421115610f0b5760405162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e650000000000000000604482015260640161081f565b610f79857f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9878787610f3c8b611610565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810185905260e001610d16565b6109f9858585611635565b5f3361072f8185856112ce565b610f9b8383611516565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b0385169181019190915260608101839052610feb908490608001610d16565b6001600160a01b0383165f8181525f5160206122815f395f51905f5260209081526040808320868452909152808220805460ff19166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b600a546001600160a01b031633148061107457506008546001600160a01b031633145b6110905760405162461bcd60e51b815260040161081f9061212f565b6001600160a01b0381166110b65760405162461bcd60e51b815260040161081f9061215e565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa906020016107b0565b83421161112457604051632ce87eeb60e01b815260040160405180910390fd5b8242106111445760405163a899ef9360e01b815260040160405180910390fd5b61114e8783611516565b610d32877f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22675f1b898989898989604051602001610d1697969594939291906121c4565b6111a087878787878787611640565b50505050505050565b600b81815481106111b8575f80fd5b5f918252602090912001546001600160a01b0316905081565b61120389898989898988888b6040516020016111ef939291906121a1565b604051602081830303815290604052611104565b505050505050505050565b61120389898989898988888b60405160200161122c939291906121a1565b604051602081830303815290604052610c4f565b61124d8383836001611670565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156112c857818110156112ba57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161081f565b6112c884848484035f611670565b50505050565b6001600160a01b0383166112f757604051634b637e8f60e11b81525f600482015260240161081f565b6001600160a01b0382166113205760405163ec442f0560e01b81525f600482015260240161081f565b61124d838383611742565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138357507f000000000000000000000000000000000000000000000000000000000000000046145b156113ad57507f000000000000000000000000000000000000000000000000000000000000000090565b6109a0604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661147d57604051634b637e8f60e11b81525f600482015260240161081f565b610bec825f83611742565b6001600160a01b0382166114b15760405163ec442f0560e01b81525f600482015260240161081f565b610bec5f8383611742565b60606109a07f00000000000000000000000000000000000000000000000000000000000000006005611868565b60606109a07f00000000000000000000000000000000000000000000000000000000000000006006611868565b5f5160206122815f395f51905f526001600160a01b0383165f90815260209182526040808220848352909252205460ff1615610bec5760405163076f007560e21b815260040160405180910390fd5b6115788361157284611911565b8361191b565b61124d57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0382165f8181525f5160206122815f395f51905f5260209081526040808320858452909152808220805460ff19166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b5f6116068484846112ce565b5060019392505050565b6001600160a01b0381165f908152600760205260408120805460018101909155610735565b61124d838383611240565b6111a08787878786868960405160200161165c939291906121a1565b604051602081830303815290604052610ebb565b6001600160a01b0384166116995760405163e602df0560e01b81525f600482015260240161081f565b6001600160a01b0383166116c257604051634a1406b160e11b81525f600482015260240161081f565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156112c857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161173491815260200190565b60405180910390a350505050565b6001600160a01b03831661176c578060025f8282546117619190612200565b909155506117dc9050565b6001600160a01b0383165f90815260208190526040902054818110156117be5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161081f565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166117f857600280548290039055611816565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185b91815260200190565b60405180910390a3505050565b606060ff83146118825761187b8361198b565b9050610735565b81805461188e906120f7565b80601f01602080910402602001604051908101604052809291908181526020018280546118ba906120f7565b80156119055780601f106118dc57610100808354040283529160200191611905565b820191905f5260205f20905b8154815290600101906020018083116118e857829003601f168201915b50505050509050610735565b5f610735826119c8565b5f836001600160a01b03163b5f03611979575f5f61193985856119f4565b5090925090505f8160038111156119525761195261221f565b1480156119705750856001600160a01b0316826001600160a01b0316145b925050506107d9565b611984848484611a3d565b90506107d9565b60605f61199783611b14565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f6107356119d461132b565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f8351604103611a2b576020840151604085015160608601515f1a611a1d88828585611b3b565b955095509550505050611a36565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b03168585604051602401611a5d929190612233565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b17905251611a929190612253565b5f60405180830381855afa9150503d805f8114611aca576040519150601f19603f3d011682016040523d82523d5f602084013e611acf565b606091505b5091509150818015611ae357506020815110155b8015611b0a57508051630b135d3f60e11b90611b089083016020908101908401612269565b145b9695505050505050565b5f60ff8216601f81111561073557604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611b7457505f91506003905082611bf9565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611bc5573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116611bf057505f925060019150829050611bf9565b92505f91508190505b9450945094915050565b5f60208284031215611c13575f5ffd5b81356001600160e01b0319811681146107d9575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6107d96020830184611c2a565b80356001600160a01b0381168114611c80575f5ffd5b919050565b5f5f60408385031215611c96575f5ffd5b611c9f83611c6a565b946020939093013593505050565b5f60208284031215611cbd575f5ffd5b6107d982611c6a565b5f5f5f60608486031215611cd8575f5ffd5b611ce184611c6a565b9250611cef60208501611c6a565b929592945050506040919091013590565b5f60208284031215611d10575f5ffd5b5035919050565b803560ff81168114611c80575f5ffd5b5f5f5f5f5f60a08688031215611d3b575f5ffd5b611d4486611c6a565b945060208601359350611d5960408701611d17565b94979396509394606081013594506080013592915050565b60ff60f81b8816815260e060208201525f611d8f60e0830189611c2a565b8281036040840152611da18189611c2a565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611df6578351835260209384019390920191600101611dd8565b50909b9a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611e2a575f5ffd5b813567ffffffffffffffff811115611e4457611e44611e07565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611e7357611e73611e07565b604052818152838201602001851015611e8a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215611ebc575f5ffd5b611ec588611c6a565b9650611ed360208901611c6a565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115611f0a575f5ffd5b611f168a828b01611e1b565b91505092959891949750929550565b5f5f5f5f5f60a08688031215611f39575f5ffd5b611f4286611c6a565b9450611f5060208701611c6a565b93506040860135925060608601359150608086013567ffffffffffffffff811115611f79575f5ffd5b611f8588828901611e1b565b9150509295509295909350565b5f5f5f60608486031215611fa4575f5ffd5b611fad84611c6a565b925060208401359150604084013567ffffffffffffffff811115611fcf575f5ffd5b611fdb86828701611e1b565b9150509250925092565b5f5f5f5f5f5f5f60e0888a031215611ffb575f5ffd5b61200488611c6a565b965061201260208901611c6a565b9550604088013594506060880135935061202e60808901611d17565b9699959850939692959460a0840135945060c09093013592915050565b5f5f6040838503121561205c575f5ffd5b61206583611c6a565b915061207360208401611c6a565b90509250929050565b5f5f5f5f5f5f5f5f5f6101208a8c031215612095575f5ffd5b61209e8a611c6a565b98506120ac60208b01611c6a565b975060408a0135965060608a0135955060808a0135945060a08a013593506120d660c08b01611d17565b989b979a50959894979396929550929360e081013593506101000135919050565b600181811c9082168061210b57607f821691505b60208210810361212957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b928352602083019190915260f81b6001600160f81b031916604082015260410190565b9687526001600160a01b0395861660208801529390941660408601526060850191909152608084015260a083019190915260c082015260e00190565b8082018082111561073557634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f61224b6040830184611c2a565b949350505050565b5f82518060208501845e5f920191825250919050565b5f60208284031215612279575f5ffd5b505191905056fe6607eb842e76408d8b3956685dc6b9da5897a1d9b47edcc993ce266e603fa500", + "nonce": "0x1d", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x76deca8ce89dfd63b0d26405f18cd18260e8915cf56747465bc18b46e79681f8", + "transactionType": "CREATE", + "contractName": "FPI", + "contractAddress": "0xc43b147bf863779693cd5d92afd5c143c79e91e8", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x1ea2cb", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280601081526020016f08ce4c2f040a0e4d2c6ca4092dcc8caf60831b8152506040518060400160405280600381526020016246504960e81b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008b9190610321565b5060046100988282610321565b506100a891508390506005610206565b610120526100b7816006610206565b61014052815160208084019190912060e052815190820120610100524660a05261014360e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017457604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610437915050565b5f6020835110156102215761021a83610238565b9050610232565b8161022c8482610321565b5060ff90505b92915050565b5f5f829050601f8151111561026b578260405163305a27a960e01b815260040161026291906103df565b60405180910390fd5b805161027682610414565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a657607f821691505b6020821081036102c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031c578282111561031c57805f5260205f20601f840160051c60208510156102f557505f5b90810190601f840160051c035f5b81811015610318575f83820155600101610303565b5050505b505050565b81516001600160401b0381111561033a5761033a61027e565b61034e816103488454610292565b846102ca565b6020601f821160018114610380575f83156103695750848201515b5f19600385901b1c1916600184901b1784556103d8565b5f84815260208120601f198516915b828110156103af578785015182556020948501946001909201910161038f565b50848210156103cc57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c4575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104aa5f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x1e", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd2fa07ffeaf77c15efd6b062aad2a6f04b30b05c915987f992784af4c69c79d0", + "transactionType": "CREATE", + "contractName": "FrxBTC", + "contractAddress": "0xfadbeab442138e527dbd8269664162882cda7809", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x1ea2b6", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280600c81526020016b233930bc102134ba31b7b4b760a11b8152506040518060400160405280600681526020016566727842544360d01b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008a9190610320565b5060046100978282610320565b506100a791508390506005610205565b610120526100b6816006610205565b61014052815160208084019190912060e052815190820120610100524660a05261014260e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017357604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610436915050565b5f6020835110156102205761021983610237565b9050610231565b8161022b8482610320565b5060ff90505b92915050565b5f5f829050601f8151111561026a578260405163305a27a960e01b815260040161026191906103de565b60405180910390fd5b805161027582610413565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a557607f821691505b6020821081036102c357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031b578282111561031b57805f5260205f20601f840160051c60208510156102f457505f5b90810190601f840160051c035f5b81811015610317575f83820155600101610302565b5050505b505050565b81516001600160401b038111156103395761033961027d565b61034d816103478454610291565b846102c9565b6020601f82116001811461037f575f83156103685750848201515b5f19600385901b1c1916600184901b1784556103d7565b5f84815260208120601f198516915b828110156103ae578785015182556020948501946001909201910161038e565b50848210156103cb57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c3575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104a95f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x1f", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb2c8a767b712a2ca6c08d2ece18711b2824daffef69e778ee9de333543e9bf85", + "transactionType": "CREATE", + "contractName": "ERC20ExWrappedPPOM", + "contractAddress": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x201ed0", + "value": "0x0", + "input": "0x6006805460ff1916601217905560c060405260056080908152640312e312e360dc1b60a052601a906100319082610283565b5034801561003d575f5ffd5b5060016040518060400160405280600b81526020016a223ab6b6bc902a37b5b2b760a91b8152506040518060400160405280600581526020016444554d4d5960d81b81525081600490816100919190610283565b50600561009e8282610283565b5050506001600160a01b0381166100c857604051639b15e16f60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15061012961012e565b610341565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561017e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101dd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020857607f821691505b60208210810361022657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027e578282111561027e57805f5260205f20601f840160051c602085101561025757505f5b90810190601f840160051c035f5b8181101561027a575f83820155600101610265565b5050505b505050565b81516001600160401b0381111561029c5761029c6101e0565b6102b0816102aa84546101f4565b8461022c565b6020601f8211600181146102e2575f83156102cb5750848201515b5f19600385901b1c1916600184901b17845561033a565b5f84815260208120601f198516915b8281101561031157878501518255602094850194600190920191016102f1565b508482101561032e57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b6119948061034e5f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c806379ba509711610135578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104be578063dd62ed3e146104d1578063e78cea9214610463578063ee9a31a214610509578063f46eccc41461051c575f5ffd5b8063bdacb30314610474578063c01e1bd614610487578063d505accf14610498578063d6c0b2c414610487578063d73ced04146104ab575f5ffd5b806395d89b41116100fa57806395d89b4114610435578063983b2d561461043d5780639dc29fac14610337578063a9059cbb14610450578063ae1f6aaf14610463575f5ffd5b806379ba5097146103d957806379cc6790146103e15780637ecebe00146103f457806384b0196e146104075780638da5cb5b14610422575f5ffd5b80633644e515116101c157806354fd4d501161018657806354fd4d50146103705780636a257ebc146103785780636eb175541461038b57806370a082311461039e5780637941bc89146103c6575f5ffd5b80633644e515146103265780633eaaf86b1461032e57806340c10f191461033757806342966c681461034a57806353a47bb71461035d575f5ffd5b80631627540c116102075780631627540c146102c457806318160ddd146102d957806323b872dd146102eb5780633092afd5146102fe578063313ce56714610311575f5ffd5b806301ffc9a714610238578063033964be1461027157806306fdde031461029c578063095ea7b3146102b1575b5f5ffd5b61025c610246366004611633565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b601954610284906001600160a01b031681565b6040516001600160a01b039091168152602001610268565b6102a461053e565b604051610268919061168f565b61025c6102bf3660046116bc565b6105ce565b6102d76102d23660046116e4565b6105e7565b005b6009545b604051908152602001610268565b61025c6102f93660046116fd565b610667565b6102d761030c3660046116e4565b61068a565b60065460405160ff9091168152602001610268565b6102dd610841565b6102dd60095481565b6102d76103453660046116bc565b61084f565b6102d7610358366004611737565b610868565b600b54610284906001600160a01b031681565b6102a4610875565b6102d76103863660046116bc565b610901565b6102d7610399366004611737565b6109a2565b6102dd6103ac3660046116e4565b6001600160a01b03165f9081526007602052604090205490565b6102d76103d43660046116bc565b610a26565b6102d7610abf565b6102d76103ef3660046116bc565b610b5c565b6102dd6104023660046116e4565b610b75565b61040f610b92565b604051610268979695949392919061174e565b600a54610284906001600160a01b031681565b6102a4610be8565b6102d761044b3660046116e4565b610bf7565b61025c61045e3660046116bc565b610d52565b6018546001600160a01b0316610284565b6102d76104823660046116e4565b610d5f565b6019546001600160a01b0316610284565b6102d76104a63660046117e4565b610e12565b6102846104b9366004611737565b610f48565b601554610284906001600160a01b031681565b6102dd6104df366004611851565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b601854610284906001600160a01b031681565b61025c61052a3660046116e4565b60176020525f908152604090205460ff1681565b60606004805461054d90611882565b80601f016020809104026020016040519081016040528092919081815260200182805461057990611882565b80156105c45780601f1061059b576101008083540402835291602001916105c4565b820191905f5260205f20905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b5f336105db818585610f70565b60019150505b92915050565b600a546001600160a01b0316331461061257604051635fc483c560e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f33610674858285610f82565b61067f858585610ffd565b506001949350505050565b6015546001600160a01b03163314806106ad5750600a546001600160a01b031633145b6106d25760405162461bcd60e51b81526004016106c9906118ba565b60405180910390fd5b6001600160a01b0381166106f85760405162461bcd60e51b81526004016106c9906118e9565b6001600160a01b0381165f9081526017602052604090205460ff16151560011461075b5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106c9565b6001600160a01b0381165f908152601760205260408120805460ff191690555b60165481101561080757816001600160a01b0316601682815481106107a2576107a2611918565b5f918252602090912001546001600160a01b0316036107ff575f601682815481106107cf576107cf611918565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550610807565b60010161077b565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161065c565b5f61084a61105a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b61087233826110ee565b50565b601a805461088290611882565b80601f01602080910402602001604051908101604052809291908181526020018280546108ae90611882565b80156108f95780601f106108d0576101008083540402835291602001916108f9565b820191905f5260205f20905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b335f9081526017602052604090205460ff1615156001146109535760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106c9565b61095d8282611122565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b6015546001600160a01b03163314806109c55750600a546001600160a01b031633145b6109e15760405162461bcd60e51b81526004016106c9906118ba565b5f811215610a0d576109f281611940565b60095f828254610a02919061195a565b909155506108729050565b8060095f828254610a1e919061196d565b909155505050565b335f9081526017602052604090205460ff161515600114610a785760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106c9565b610a828282610b5c565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610996565b600b546001600160a01b03163314610aea57604051636ba599a760e11b815260040160405180910390fd5b600a54600b54604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600b8054600a80546001600160a01b03199081166001600160a01b03841617909155169055565b610b67823383610f82565b610b7182826110ee565b5050565b6001600160a01b0381165f908152600260205260408120546105e1565b5f6060805f5f5f6060610bb1600c60135461115690919063ffffffff16565b601454610bbf90600d611156565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606005805461054d90611882565b6015546001600160a01b0316331480610c1a5750600a546001600160a01b031633145b610c365760405162461bcd60e51b81526004016106c9906118ba565b6001600160a01b038116610c5c5760405162461bcd60e51b81526004016106c9906118e9565b6001600160a01b0381165f9081526017602052604090205460ff1615610cbd5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106c9565b6001600160a01b0381165f818152601760209081526040808320805460ff191660019081179091556016805491820181559093527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161065c565b5f336105db818585610ffd565b6015546001600160a01b0316331480610d825750600a546001600160a01b031633145b610d9e5760405162461bcd60e51b81526004016106c9906118ba565b6001600160a01b038116610dc45760405162461bcd60e51b81526004016106c9906118e9565b601580546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161065c565b83421115610e365760405163313c898160e11b8152600481018590526024016106c9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610e818c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610edb826111ff565b90505f610eea8287878761122b565b9050896001600160a01b0316816001600160a01b031614610f31576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106c9565b610f3c8a8a8a610f70565b50505050505050505050565b60168181548110610f57575f80fd5b5f918252602090912001546001600160a01b0316905081565b610f7d8383836001611257565b505050565b6001600160a01b038381165f908152600860209081526040808320938616835292905220545f198114610ff75781811015610fe957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106c9565b610ff784848484035f611257565b50505050565b6001600160a01b03831661102657604051634b637e8f60e11b81525f60048201526024016106c9565b6001600160a01b03821661104f5760405163ec442f0560e01b81525f60048201526024016106c9565b610f7d838383611329565b6010545f906001600160a01b0316301480156110775750600f5446145b156110835750600e5490565b61084a601154601254604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661111757604051634b637e8f60e11b81525f60048201526024016106c9565b610b71825f83611329565b6001600160a01b03821661114b5760405163ec442f0560e01b81525f60048201526024016106c9565b610b715f8383611329565b606060ff8314611170576111698361144f565b90506105e1565b81805461117c90611882565b80601f01602080910402602001604051908101604052809291908181526020018280546111a890611882565b80156111f35780601f106111ca576101008083540402835291602001916111f3565b820191905f5260205f20905b8154815290600101906020018083116111d657829003601f168201915b505050505090506105e1565b5f6105e161120b61105a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f61123b8888888861148c565b92509250925061124b8282611554565b50909695505050505050565b6001600160a01b0384166112805760405163e602df0560e01b81525f60048201526024016106c9565b6001600160a01b0383166112a957604051634a1406b160e11b81525f60048201526024016106c9565b6001600160a01b038085165f9081526008602090815260408083209387168352929052208290558015610ff757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161131b91815260200190565b60405180910390a350505050565b6001600160a01b038316611353578060095f828254611348919061196d565b909155506113c39050565b6001600160a01b0383165f90815260076020526040902054818110156113a55760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106c9565b6001600160a01b0384165f9081526007602052604090209082900390555b6001600160a01b0382166113df576009805482900390556113fd565b6001600160a01b0382165f9081526007602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161144291815260200190565b60405180910390a3505050565b60605f61145b8361160c565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156114c557505f9150600390508261154a565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611516573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661154157505f92506001915082905061154a565b92505f91508190505b9450945094915050565b5f82600381111561156757611567611980565b03611570575050565b600182600381111561158457611584611980565b036115a25760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115b6576115b6611980565b036115d75760405163fce698f760e01b8152600481018290526024016106c9565b60038260038111156115eb576115eb611980565b03610b71576040516335e2f38360e21b8152600481018290526024016106c9565b5f60ff8216601f8111156105e157604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611643575f5ffd5b81356001600160e01b03198116811461165a575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61165a6020830184611661565b80356001600160a01b03811681146116b7575f5ffd5b919050565b5f5f604083850312156116cd575f5ffd5b6116d6836116a1565b946020939093013593505050565b5f602082840312156116f4575f5ffd5b61165a826116a1565b5f5f5f6060848603121561170f575f5ffd5b611718846116a1565b9250611726602085016116a1565b929592945050506040919091013590565b5f60208284031215611747575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176c60e0830189611661565b828103604084015261177e8189611661565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d35783518352602093840193909201916001016117b5565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117fa575f5ffd5b611803886116a1565b9650611811602089016116a1565b95506040880135945060608801359350608088013560ff81168114611834575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611862575f5ffd5b61186b836116a1565b9150611879602084016116a1565b90509250929050565b600181811c9082168061189657607f821691505b6020821081036118b457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b82016119545761195461192c565b505f0390565b818103818111156105e1576105e161192c565b808201808211156105e1576105e161192c565b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x20", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x33a3db0da26c547666d2fcbe608278fe8a7211baeab1d27201145a91e562404b", + "transactionType": "CREATE", + "contractName": "SfrxETH", + "contractAddress": "0x4818aab499ec0f5d816968899bf69ecd5c39f354", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x1ea333", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280601181526020017029ba30b5b2b210233930bc1022ba3432b960791b815250604051806040016040528060078152602001660e6cce4f08aa8960cb1b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b815250858581600390816100909190610326565b50600461009d8282610326565b506100ad9150839050600561020b565b610120526100bc81600661020b565b61014052815160208084019190912060e052815190820120610100524660a05261014860e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017957604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b031916929091169190911790555061043c915050565b5f6020835110156102265761021f8361023d565b9050610237565b816102318482610326565b5060ff90505b92915050565b5f5f829050601f81511115610270578260405163305a27a960e01b815260040161026791906103e4565b60405180910390fd5b805161027b82610419565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ab57607f821691505b6020821081036102c957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610321578282111561032157805f5260205f20601f840160051c60208510156102fa57505f5b90810190601f840160051c035f5b8181101561031d575f83820155600101610308565b5050505b505050565b81516001600160401b0381111561033f5761033f610283565b6103538161034d8454610297565b846102cf565b6020601f821160018114610385575f831561036e5750848201515b5f19600385901b1c1916600184901b1784556103dd565b5f84815260208120601f198516915b828110156103b45787850151825560209485019460019092019101610394565b50848210156103d157868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c9575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104af5f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x21", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x287371", + "logs": [ + { + "address": "0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x1f0a52239622a064fdbe8b00ce45f8df9255869987125ca1d686d9b69527ab92", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000004000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000004000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1f0a52239622a064fdbe8b00ce45f8df9255869987125ca1d686d9b69527ab92", + "transactionIndex": "0x1", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x27b682", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x28461c299ccc6", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x1ae47" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x47d6fc", + "logs": [ + { + "address": "0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x76deca8ce89dfd63b0d26405f18cd18260e8915cf56747465bc18b46e79681f8", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000020000000000000000000080000000000000000000000400000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x76deca8ce89dfd63b0d26405f18cd18260e8915cf56747465bc18b46e79681f8", + "transactionIndex": "0x2", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x1f638b", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x213cade69e84b", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x16319" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5f67e7", + "logs": [ + { + "address": "0xc43b147bf863779693cd5d92afd5c143c79e91e8", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x33a3db0da26c547666d2fcbe608278fe8a7211baeab1d27201145a91e562404b", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100800000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x33a3db0da26c547666d2fcbe608278fe8a7211baeab1d27201145a91e562404b", + "transactionIndex": "0x3", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x1790eb", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0xc43b147bf863779693cd5d92afd5c143c79e91e8", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x193db67c3aff9", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10dab" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x76f8c2", + "logs": [ + { + "address": "0xfadbeab442138e527dbd8269664162882cda7809", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0xb2c8a767b712a2ca6c08d2ece18711b2824daffef69e778ee9de333543e9bf85", + "transactionIndex": "0x4", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000100000000000000000000000000000002000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb2c8a767b712a2ca6c08d2ece18711b2824daffef69e778ee9de333543e9bf85", + "transactionIndex": "0x4", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x1790db", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0xfadbeab442138e527dbd8269664162882cda7809", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x1942b948ca203", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10de1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8fae00", + "logs": [ + { + "address": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000100000000080000000000000000400000000000000000000000000000000000000000000000000004080000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionIndex": "0x5", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x18b53e", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x190556fef0d0d", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10b51" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa73f3b", + "logs": [ + { + "address": "0x4818aab499ec0f5d816968899bf69ecd5c39f354", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0xd2fa07ffeaf77c15efd6b062aad2a6f04b30b05c915987f992784af4c69c79d0", + "transactionIndex": "0x6", + "logIndex": "0x6", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd2fa07ffeaf77c15efd6b062aad2a6f04b30b05c915987f992784af4c69c79d0", + "transactionIndex": "0x6", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x17913b", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0x4818aab499ec0f5d816968899bf69ecd5c39f354", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x19453aaf11b07", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10dfc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1774991610408, + "chain": 252, + "commit": "a9c2cdd" +} \ No newline at end of file diff --git a/broadcast/DeprecateNativeBridging.s.sol/252/run-latest.json b/broadcast/DeprecateNativeBridging.s.sol/252/run-latest.json new file mode 100644 index 0000000..65d8760 --- /dev/null +++ b/broadcast/DeprecateNativeBridging.s.sol/252/run-latest.json @@ -0,0 +1,356 @@ +{ + "transactions": [ + { + "hash": "0x1f0a52239622a064fdbe8b00ce45f8df9255869987125ca1d686d9b69527ab92", + "transactionType": "CREATE", + "contractName": "FrxUSD", + "contractAddress": "0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x33a075", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b5060405180604001604052806008815260200167119c985e081554d160c21b81525060405180604001604052806006815260200165199c9e1554d160d21b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b81525085858160039081610086919061031c565b506004610093828261031c565b506100a391508390506005610201565b610120526100b2816006610201565b61014052815160208084019190912060e052815190820120610100524660a05261013e60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661016f57604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610432915050565b5f60208351101561021c5761021583610233565b905061022d565b81610227848261031c565b5060ff90505b92915050565b5f5f829050601f81511115610266578260405163305a27a960e01b815260040161025d91906103da565b60405180910390fd5b80516102718261040f565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a157607f821691505b6020821081036102bf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610317578282111561031757805f5260205f20601f840160051c60208510156102f057505f5b90810190601f840160051c035f5b81811015610313575f838201556001016102fe565b5050505b505050565b81516001600160401b0381111561033557610335610279565b61034981610343845461028d565b846102c5565b6020601f82116001811461037b575f83156103645750848201515b5f19600385901b1c1916600184901b1784556103d3565b5f84815260208120601f198516915b828110156103aa578785015182556020948501946001909201910161038a565b50848210156103c757868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102bf575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161018051612c7c6104a55f395f81816103bf015261071501525f8181610696015261083b01525f611c2d01525f611c0001525f611b2501525f611afd01525f611a5801525f611a8201525f611aac0152612c7c5ff3fe608060405234801561000f575f5ffd5b506004361061037d575f3560e01c806388b7ab63116101d4578063bdacb30311610109578063dd62ed3e116100a9578063e94a010211610079578063e94a0102146107f2578063ee9a31a214610836578063ef55bec61461085d578063f46eccc414610870575f5ffd5b8063dd62ed3e14610785578063e3ee160e146107bd578063e5839836146107d0578063e78cea9214610694575f5ffd5b8063d505accf116100e4578063d505accf1461074c578063d6c0b2c414610713578063d73ced041461075f578063dc6663c714610772575f5ffd5b8063bdacb30314610700578063c01e1bd614610713578063cf09299514610739575f5ffd5b80639fd5a6cf11610174578063afe152271161014f578063afe15227146106ba578063b187bd26146106cd578063b3b20e74146106da578063b7b72899146106ed575f5ffd5b80639fd5a6cf1461066e578063a9059cbb14610681578063ae1f6aaf14610694575f5ffd5b806395d89b41116101af57806395d89b4114610640578063983b2d56146106485780639954baf21461065b5780639dc29fac146104b3575f5ffd5b806388b7ab63146106075780638d1fdf2f1461061a5780638da5cb5b1461062d575f5ffd5b806342966c68116102b55780636c65fd6a1161025557806379cc67901161022557806379cc6790146105be5780637ecebe00146105d15780638456cb59146105e457806384b0196e146105ec575f5ffd5b80636c65fd6a1461055957806370a082311461057b5780637941bc89146105a357806379ba5097146105b6575f5ffd5b806354fd4d501161029057806354fd4d50146104ff5780635a049a70146105205780635ea20216146105335780636a257ebc14610546575f5ffd5b806342966c68146104c6578063526606c9146104d957806353a47bb7146104ec575f5ffd5b80632acd200011610320578063313ce567116102fb578063313ce567146104945780633644e515146104a35780633f4ba83a146104ab57806340c10f19146104b3575f5ffd5b80632acd20001461045b5780632d8b45a91461046e5780633092afd514610481575f5ffd5b8063095ea7b31161035b578063095ea7b31461040e5780631627540c1461042157806318160ddd1461043657806323b872dd14610448575f5ffd5b806301ffc9a714610381578063033964be146103ba57806306fdde03146103f9575b5f5ffd5b6103a561038f366004612448565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103b1565b610401610892565b6040516103b1919061249d565b6103a561041c3660046124ca565b610922565b61043461042f3660046124f2565b61093b565b005b6002545b6040519081526020016103b1565b6103a561045636600461250b565b6109bb565b6104346104693660046124f2565b6109e0565b61043461047c3660046124ca565b610a93565b61043461048f3660046124f2565b610aed565b604051601281526020016103b1565b61043a610ca4565b610434610cb2565b6104346104c13660046124ca565b610d11565b6104346104d4366004612545565b610d2a565b6104346104e73660046124f2565b610d37565b6009546103e1906001600160a01b031681565b6040805180820190915260058152640332e302e360dc1b6020820152610401565b61043461052e36600461256c565b610dee565b6104346105413660046124f2565b610e23565b6104346105543660046124ca565b610e57565b6103a56105673660046124f2565b600f6020525f908152604090205460ff1681565b61043a6105893660046124f2565b6001600160a01b03165f9081526020819052604090205490565b6104346105b13660046124ca565b610ef8565b610434610f91565b6104346105cc3660046124ca565b61102e565b61043a6105df3660046124f2565b611039565b610434611056565b6105f46110b8565b6040516103b197969594939291906125b6565b6104346106153660046126fd565b6110fa565b6104346106283660046124f2565b6111fc565b6008546103e1906001600160a01b031681565b61040161124d565b6104346106563660046124f2565b61125c565b610434610669366004612810565b6113b7565b61043461067c36600461284a565b61141d565b6103a561068f3660046124ca565b6114e6565b7f00000000000000000000000000000000000000000000000000000000000000006103e1565b6104346106c83660046128b7565b6114f3565b600e546103a59060ff1681565b6104346106e8366004612810565b61160b565b6104346106fb366004612975565b611689565b61043461070e3660046124f2565b611749565b7f00000000000000000000000000000000000000000000000000000000000000006103e1565b6104346107473660046126fd565b6117fc565b61043461075a3660046129c8565b611889565b6103e161076d366004612545565b6118a1565b600a546103e1906001600160a01b031681565b61043a610793366004612a2e565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6104346107cb366004612a5f565b6118c9565b6103a56107de3660046124f2565b600d6020525f908152604090205460ff1681565b6103a56108003660046124ca565b6001600160a01b03919091165f9081525f516020612c5c5f395f51905f5260209081526040808320938352929052205460ff1690565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b61043461086b366004612a5f565b611906565b6103a561087e3660046124f2565b600c6020525f908152604090205460ff1681565b6060600380546108a190612ada565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90612ada565b80156109185780601f106108ef57610100808354040283529160200191610918565b820191905f5260205f20905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b5f3361092f818585611938565b60019150505b92915050565b6008546001600160a01b0316331461096657604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336109c8858285611945565b6109d38585856119bb565b60019150505b9392505050565b6008546001600160a01b03163314610a0b57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205460ff16610a4357604051632afd2d5760e11b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805460ff1916905590519182527f9897b394a6b591cfc037421a7ded37d10c937d559efc566379996935ca7e8cb391016109b0565b6008546001600160a01b03163314610abe57604051635fc483c560e01b815260040160405180910390fd5b805f03610adf57506001600160a01b0381165f908152602081905260409020545b610ae98282611a18565b5050565b600a546001600160a01b0316331480610b1057506008546001600160a01b031633145b610b355760405162461bcd60e51b8152600401610b2c90612b12565b60405180910390fd5b6001600160a01b038116610b5b5760405162461bcd60e51b8152600401610b2c90612b41565b6001600160a01b0381165f908152600c602052604090205460ff161515600114610bbe5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b6044820152606401610b2c565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b54811015610c6a57816001600160a01b0316600b8281548110610c0557610c05612b70565b5f918252602090912001546001600160a01b031603610c62575f600b8281548110610c3257610c32612b70565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550610c6a565b600101610bde565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016109b0565b5f610cad611a4c565b905090565b6008546001600160a01b03163314610cdd57604051635fc483c560e01b815260040160405180910390fd5b600e805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933905f90a1565b6040516331cee75f60e21b815260040160405180910390fd5b610d343382611a18565b50565b6008546001600160a01b03163314610d6257604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205460ff1615610d9b57604051631c0bb04560e31b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805460ff1916600117905590519182527f8be40cc857dac82fa5df8b4151dce647ff88a95dcbc51a85bf863880ab67c3d291016109b0565b610e1c8585848487604051602001610e0893929190612b84565b604051602081830303815290604052611689565b5050505050565b6008546001600160a01b03163314610e4e57604051635fc483c560e01b815260040160405180910390fd5b610d3481611b75565b335f908152600c602052604090205460ff161515600114610ea95760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b6044820152606401610b2c565b610eb38282611bc5565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff161515600114610f4a5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b6044820152606401610b2c565b610f54828261102e565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610eec565b6009546001600160a01b03163314610fbc57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610adf823383611945565b6001600160a01b0381165f90815260076020526040812054610935565b6008546001600160a01b0316331461108157604051635fc483c560e01b815260040160405180910390fd5b600e805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752905f90a1565b5f6060805f5f5f60606110c9611bf9565b6110d1611c26565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6001600160a01b038616331461113457604051637f54a22160e11b81523360048201526001600160a01b0387166024820152604401610b2c565b83421161115457604051632ce87eeb60e01b815260040160405180910390fd5b8242106111745760405163a899ef9360e01b815260040160405180910390fd5b61117e8783611c53565b6111dd877fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de85f1b8989898989896040516020016111c19796959493929190612ba7565b6040516020818303038152906040528051906020012083611ca2565b6111e78783611cd2565b6111f2878787611d37565b5050505050505050565b335f908152600f602052604090205460ff1615801561122657506008546001600160a01b03163314155b1561124457604051632afd2d5760e11b815260040160405180910390fd5b610d3481611d4d565b6060600480546108a190612ada565b600a546001600160a01b031633148061127f57506008546001600160a01b031633145b61129b5760405162461bcd60e51b8152600401610b2c90612b12565b6001600160a01b0381166112c15760405162461bcd60e51b8152600401610b2c90612b41565b6001600160a01b0381165f908152600c602052604090205460ff16156113225760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b6044820152606401610b2c565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016109b0565b6008546001600160a01b031633146113e257604051635fc483c560e01b815260040160405180910390fd5b80515f5b818110156114185761141083828151811061140357611403612b70565b6020026020010151611b75565b6001016113e6565b505050565b8142111561146d5760405162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e6500000000000000006044820152606401610b2c565b6114db857f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987878761149e8b611da0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810185905260e0016111c1565b610e1c858585611dc5565b5f3361092f8185856119bb565b6008546001600160a01b0316331461151e57604051635fc483c560e01b815260040160405180910390fd5b815181518114611541576040516307d1a55160e31b815260040160405180910390fd5b5f5b818110156116055782818151811061155d5761155d612b70565b60200260200101515f036115c1576115a284828151811061158057611580612b70565b60200260200101516001600160a01b03165f9081526020819052604090205490565b8382815181106115b4576115b4612b70565b6020026020010181815250505b6115fd8482815181106115d6576115d6612b70565b60200260200101518483815181106115f0576115f0612b70565b6020026020010151611a18565b600101611543565b50505050565b335f908152600f602052604090205460ff1615801561163557506008546001600160a01b03163314155b1561165357604051632afd2d5760e11b815260040160405180910390fd5b80515f5b818110156114185761168183828151811061167457611674612b70565b6020026020010151611d4d565b600101611657565b6116938383611c53565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b03851691810191909152606081018390526116e39084906080016111c1565b6001600160a01b0383165f8181525f516020612c5c5f395f51905f5260209081526040808320868452909152808220805460ff19166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b600a546001600160a01b031633148061176c57506008546001600160a01b031633145b6117885760405162461bcd60e51b8152600401610b2c90612b12565b6001600160a01b0381166117ae5760405162461bcd60e51b8152600401610b2c90612b41565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa906020016109b0565b83421161181c57604051632ce87eeb60e01b815260040160405180910390fd5b82421061183c5760405163a899ef9360e01b815260040160405180910390fd5b6118468783611c53565b6111dd877f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22675f1b8989898989896040516020016111c19796959493929190612ba7565b61189887878787878787611dd0565b50505050505050565b600b81815481106118b0575f80fd5b5f918252602090912001546001600160a01b0316905081565b6118fb89898989898988888b6040516020016118e793929190612b84565b6040516020818303038152906040526117fc565b505050505050505050565b6118fb89898989898988888b60405160200161192493929190612b84565b6040516020818303038152906040526110fa565b6114188383836001611e00565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561160557818110156119ad57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610b2c565b61160584848484035f611e00565b6001600160a01b0383166119e457604051634b637e8f60e11b81525f6004820152602401610b2c565b6001600160a01b038216611a0d5760405163ec442f0560e01b81525f6004820152602401610b2c565b611418838383611ed2565b6001600160a01b038216611a4157604051634b637e8f60e11b81525f6004820152602401610b2c565b610ae9825f83611ed2565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611aa457507f000000000000000000000000000000000000000000000000000000000000000046145b15611ace57507f000000000000000000000000000000000000000000000000000000000000000090565b610cad604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916905590519182527f74bb8c2778db9c683c274e7bfdcb56dba4f1c737411c8182363097eec281eea491016109b0565b6001600160a01b038216611bee5760405163ec442f0560e01b81525f6004820152602401610b2c565b610ae95f8383611ed2565b6060610cad7f00000000000000000000000000000000000000000000000000000000000000006005611f87565b6060610cad7f00000000000000000000000000000000000000000000000000000000000000006006611f87565b5f516020612c5c5f395f51905f526001600160a01b0383165f90815260209182526040808220848352909252205460ff1615610ae95760405163076f007560e21b815260040160405180910390fd5b611cb583611caf84612030565b8361203a565b61141857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0382165f8181525f516020612c5c5f395f51905f5260209081526040808320858452909152808220805460ff19166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b5f611d438484846119bb565b5060019392505050565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916600117905590519182527f4f2a367e694e71282f29ab5eaa04c4c0be45ac5bf2ca74fb67068b98bdc2887d91016109b0565b6001600160a01b0381165f908152600760205260408120805460018101909155610935565b611418838383611938565b61189887878787868689604051602001611dec93929190612b84565b60405160208183030381529060405261141d565b6001600160a01b038416611e295760405163e602df0560e01b81525f6004820152602401610b2c565b6001600160a01b038316611e5257604051634a1406b160e11b81525f6004820152602401610b2c565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561160557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611ec491815260200190565b60405180910390a350505050565b6008546001600160a01b03163314611f7c57600e5460ff1615611f0857604051631309a56360e01b815260040160405180910390fd5b6001600160a01b0382165f908152600d602052604090205460ff1680611f4557506001600160a01b0383165f908152600d602052604090205460ff165b80611f5e5750335f908152600d602052604090205460ff165b15611f7c576040516320edda8f60e11b815260040160405180910390fd5b6114188383836120aa565b606060ff8314611fa157611f9a836121d0565b9050610935565b818054611fad90612ada565b80601f0160208091040260200160405190810160405280929190818152602001828054611fd990612ada565b80156120245780601f10611ffb57610100808354040283529160200191612024565b820191905f5260205f20905b81548152906001019060200180831161200757829003601f168201915b50505050509050610935565b5f6109358261220d565b5f836001600160a01b03163b5f03612098575f5f6120588585612239565b5090925090505f81600381111561207157612071612be3565b14801561208f5750856001600160a01b0316826001600160a01b0316145b925050506109d9565b6120a3848484612282565b90506109d9565b6001600160a01b0383166120d4578060025f8282546120c99190612bf7565b909155506121449050565b6001600160a01b0383165f90815260208190526040902054818110156121265760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610b2c565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166121605760028054829003905561217e565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121c391815260200190565b60405180910390a3505050565b60605f6121dc83612359565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f610935612219611a4c565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f8351604103612270576020840151604085015160608601515f1a61226288828585612380565b95509550955050505061227b565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b031685856040516024016122a2929190612c16565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516122d79190612c2e565b5f60405180830381855afa9150503d805f811461230f576040519150601f19603f3d011682016040523d82523d5f602084013e612314565b606091505b509150915081801561232857506020815110155b801561234f57508051630b135d3f60e11b9061234d9083016020908101908401612c44565b145b9695505050505050565b5f60ff8216601f81111561093557604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156123b957505f9150600390508261243e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561240a573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661243557505f92506001915082905061243e565b92505f91508190505b9450945094915050565b5f60208284031215612458575f5ffd5b81356001600160e01b0319811681146109d9575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6109d9602083018461246f565b80356001600160a01b03811681146124c5575f5ffd5b919050565b5f5f604083850312156124db575f5ffd5b6124e4836124af565b946020939093013593505050565b5f60208284031215612502575f5ffd5b6109d9826124af565b5f5f5f6060848603121561251d575f5ffd5b612526846124af565b9250612534602085016124af565b929592945050506040919091013590565b5f60208284031215612555575f5ffd5b5035919050565b803560ff811681146124c5575f5ffd5b5f5f5f5f5f60a08688031215612580575f5ffd5b612589866124af565b94506020860135935061259e6040870161255c565b94979396509394606081013594506080013592915050565b60ff60f81b8816815260e060208201525f6125d460e083018961246f565b82810360408401526125e6818961246f565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561263b57835183526020938401939092019160010161261d565b50909b9a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126895761268961264c565b604052919050565b5f82601f8301126126a0575f5ffd5b813567ffffffffffffffff8111156126ba576126ba61264c565b6126cd601f8201601f1916602001612660565b8181528460208386010111156126e1575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215612713575f5ffd5b61271c886124af565b965061272a602089016124af565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115612761575f5ffd5b61276d8a828b01612691565b91505092959891949750929550565b5f67ffffffffffffffff8211156127955761279561264c565b5060051b60200190565b5f82601f8301126127ae575f5ffd5b81356127c16127bc8261277c565b612660565b8082825260208201915060208360051b8601019250858311156127e2575f5ffd5b602085015b83811015612806576127f8816124af565b8352602092830192016127e7565b5095945050505050565b5f60208284031215612820575f5ffd5b813567ffffffffffffffff811115612836575f5ffd5b6128428482850161279f565b949350505050565b5f5f5f5f5f60a0868803121561285e575f5ffd5b612867866124af565b9450612875602087016124af565b93506040860135925060608601359150608086013567ffffffffffffffff81111561289e575f5ffd5b6128aa88828901612691565b9150509295509295909350565b5f5f604083850312156128c8575f5ffd5b823567ffffffffffffffff8111156128de575f5ffd5b6128ea8582860161279f565b925050602083013567ffffffffffffffff811115612906575f5ffd5b8301601f81018513612916575f5ffd5b80356129246127bc8261277c565b8082825260208201915060208360051b850101925087831115612945575f5ffd5b6020840193505b8284101561296757833582526020938401939091019061294c565b809450505050509250929050565b5f5f5f60608486031215612987575f5ffd5b612990846124af565b925060208401359150604084013567ffffffffffffffff8111156129b2575f5ffd5b6129be86828701612691565b9150509250925092565b5f5f5f5f5f5f5f60e0888a0312156129de575f5ffd5b6129e7886124af565b96506129f5602089016124af565b95506040880135945060608801359350612a116080890161255c565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215612a3f575f5ffd5b612a48836124af565b9150612a56602084016124af565b90509250929050565b5f5f5f5f5f5f5f5f5f6101208a8c031215612a78575f5ffd5b612a818a6124af565b9850612a8f60208b016124af565b975060408a0135965060608a0135955060808a0135945060a08a01359350612ab960c08b0161255c565b989b979a50959894979396929550929360e081013593506101000135919050565b600181811c90821680612aee57607f821691505b602082108103612b0c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b928352602083019190915260f81b6001600160f81b031916604082015260410190565b9687526001600160a01b0395861660208801529390941660408601526060850191909152608084015260a083019190915260c082015260e00190565b634e487b7160e01b5f52602160045260245ffd5b8082018082111561093557634e487b7160e01b5f52601160045260245ffd5b828152604060208201525f612842604083018461246f565b5f82518060208501845e5f920191825250919050565b5f60208284031215612c54575f5ffd5b505191905056fe6607eb842e76408d8b3956685dc6b9da5897a1d9b47edcc993ce266e603fa500", + "nonce": "0x1c", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionType": "CREATE", + "contractName": "SfrxUSD", + "contractAddress": "0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x28ce34", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280600f81526020016e14dd185ad95908119c985e081554d1608a1b815250604051806040016040528060078152602001661cd99c9e1554d160ca1b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008e9190610324565b50600461009b8282610324565b506100ab91508390506005610209565b610120526100ba816006610209565b61014052815160208084019190912060e052815190820120610100524660a05261014660e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017757604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b031916929091169190911790555061043a915050565b5f6020835110156102245761021d8361023b565b9050610235565b8161022f8482610324565b5060ff90505b92915050565b5f5f829050601f8151111561026e578260405163305a27a960e01b815260040161026591906103e2565b60405180910390fd5b805161027982610417565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a957607f821691505b6020821081036102c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031f578282111561031f57805f5260205f20601f840160051c60208510156102f857505f5b90810190601f840160051c035f5b8181101561031b575f83820155600101610306565b5050505b505050565b81516001600160401b0381111561033d5761033d610281565b6103518161034b8454610295565b846102cd565b6020601f821160018114610383575f831561036c5750848201515b5f19600385901b1c1916600184901b1784556103db565b5f84815260208120601f198516915b828110156103b25787850151825560209485019460019092019101610392565b50848210156103cf57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c7575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516122a16104ad5f395f81816102b8015261053701525f81816104eb015261063b01525f6114f001525f6114c301525f61140401525f6113dc01525f61133701525f61136101525f61138b01526122a15ff3fe608060405234801561000f575f5ffd5b5060043610610276575f3560e01c806388b7ab6311610156578063cf092995116100ca578063e3ee160e11610084578063e3ee160e146105df578063e78cea92146104e9578063e94a0102146105f2578063ee9a31a214610636578063ef55bec61461065d578063f46eccc414610670575f5ffd5b8063cf0929951461055b578063d505accf1461056e578063d6c0b2c414610535578063d73ced0414610581578063dc6663c714610594578063dd62ed3e146105a7575f5ffd5b80639fd5a6cf1161011b5780639fd5a6cf146104c3578063a9059cbb146104d6578063ae1f6aaf146104e9578063b7b728991461050f578063bdacb30314610522578063c01e1bd614610535575f5ffd5b806388b7ab63146104825780638da5cb5b1461049557806395d89b41146104a8578063983b2d56146104b05780639dc29fac1461037e575f5ffd5b806342966c68116101ed57806370a08231116101b257806370a08231146103fe5780637941bc891461042657806379ba50971461043957806379cc6790146104415780637ecebe001461045457806384b0196e14610467575f5ffd5b806342966c681461039157806353a47bb7146103a457806354fd4d50146103b75780635a049a70146103d85780636a257ebc146103eb575f5ffd5b806318160ddd1161023e57806318160ddd1461032f57806323b872dd146103415780633092afd514610354578063313ce567146103675780633644e5151461037657806340c10f191461037e575f5ffd5b806301ffc9a71461027a578063033964be146102b357806306fdde03146102f2578063095ea7b3146103075780631627540c1461031a575b5f5ffd5b61029e610288366004611c03565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102aa565b6102fa610692565b6040516102aa9190611c58565b61029e610315366004611c85565b610722565b61032d610328366004611cad565b61073b565b005b6002545b6040519081526020016102aa565b61029e61034f366004611cc6565b6107bb565b61032d610362366004611cad565b6107e0565b604051601281526020016102aa565b610333610997565b61032d61038c366004611c85565b6109a5565b61032d61039f366004611d00565b6109be565b6009546102da906001600160a01b031681565b604080518082019091526005815264322e302e3160d81b60208201526102fa565b61032d6103e6366004611d27565b6109cb565b61032d6103f9366004611c85565b610a00565b61033361040c366004611cad565b6001600160a01b03165f9081526020819052604090205490565b61032d610434366004611c85565b610aa1565b61032d610b3a565b61032d61044f366004611c85565b610bd7565b610333610462366004611cad565b610bf0565b61046f610c0d565b6040516102aa9796959493929190611d71565b61032d610490366004611ea6565b610c4f565b6008546102da906001600160a01b031681565b6102fa610d51565b61032d6104be366004611cad565b610d60565b61032d6104d1366004611f25565b610ebb565b61029e6104e4366004611c85565b610f84565b7f00000000000000000000000000000000000000000000000000000000000000006102da565b61032d61051d366004611f92565b610f91565b61032d610530366004611cad565b611051565b7f00000000000000000000000000000000000000000000000000000000000000006102da565b61032d610569366004611ea6565b611104565b61032d61057c366004611fe5565b611191565b6102da61058f366004611d00565b6111a9565b600a546102da906001600160a01b031681565b6103336105b536600461204b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61032d6105ed36600461207c565b6111d1565b61029e610600366004611c85565b6001600160a01b03919091165f9081525f5160206122815f395f51905f5260209081526040808320938352929052205460ff1690565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b61032d61066b36600461207c565b61120e565b61029e61067e366004611cad565b600c6020525f908152604090205460ff1681565b6060600380546106a1906120f7565b80601f01602080910402602001604051908101604052809291908181526020018280546106cd906120f7565b80156107185780601f106106ef57610100808354040283529160200191610718565b820191905f5260205f20905b8154815290600101906020018083116106fb57829003601f168201915b5050505050905090565b5f3361072f818585611240565b60019150505b92915050565b6008546001600160a01b0316331461076657604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336107c8858285611252565b6107d38585856112ce565b60019150505b9392505050565b600a546001600160a01b031633148061080357506008546001600160a01b031633145b6108285760405162461bcd60e51b815260040161081f9061212f565b60405180910390fd5b6001600160a01b03811661084e5760405162461bcd60e51b815260040161081f9061215e565b6001600160a01b0381165f908152600c602052604090205460ff1615156001146108b15760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b604482015260640161081f565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561095d57816001600160a01b0316600b82815481106108f8576108f861218d565b5f918252602090912001546001600160a01b031603610955575f600b82815481106109255761092561218d565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061095d565b6001016108d1565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692906020016107b0565b5f6109a061132b565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6109c83382611454565b50565b6109f985858484876040516020016109e5939291906121a1565b604051602081830303815290604052610f91565b5050505050565b335f908152600c602052604090205460ff161515600114610a525760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b604482015260640161081f565b610a5c8282611488565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff161515600114610af35760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b604482015260640161081f565b610afd8282610bd7565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610a95565b6009546001600160a01b03163314610b6557604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610be2823383611252565b610bec8282611454565b5050565b6001600160a01b0381165f90815260076020526040812054610735565b5f6060805f5f5f6060610c1e6114bc565b610c266114e9565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6001600160a01b0386163314610c8957604051637f54a22160e11b81523360048201526001600160a01b038716602482015260440161081f565b834211610ca957604051632ce87eeb60e01b815260040160405180910390fd5b824210610cc95760405163a899ef9360e01b815260040160405180910390fd5b610cd38783611516565b610d32877fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de85f1b898989898989604051602001610d1697969594939291906121c4565b6040516020818303038152906040528051906020012083611565565b610d3c8783611595565b610d478787876115fa565b5050505050505050565b6060600480546106a1906120f7565b600a546001600160a01b0316331480610d8357506008546001600160a01b031633145b610d9f5760405162461bcd60e51b815260040161081f9061212f565b6001600160a01b038116610dc55760405162461bcd60e51b815260040161081f9061215e565b6001600160a01b0381165f908152600c602052604090205460ff1615610e265760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b604482015260640161081f565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691016107b0565b81421115610f0b5760405162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e650000000000000000604482015260640161081f565b610f79857f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9878787610f3c8b611610565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810185905260e001610d16565b6109f9858585611635565b5f3361072f8185856112ce565b610f9b8383611516565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b0385169181019190915260608101839052610feb908490608001610d16565b6001600160a01b0383165f8181525f5160206122815f395f51905f5260209081526040808320868452909152808220805460ff19166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b600a546001600160a01b031633148061107457506008546001600160a01b031633145b6110905760405162461bcd60e51b815260040161081f9061212f565b6001600160a01b0381166110b65760405162461bcd60e51b815260040161081f9061215e565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa906020016107b0565b83421161112457604051632ce87eeb60e01b815260040160405180910390fd5b8242106111445760405163a899ef9360e01b815260040160405180910390fd5b61114e8783611516565b610d32877f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22675f1b898989898989604051602001610d1697969594939291906121c4565b6111a087878787878787611640565b50505050505050565b600b81815481106111b8575f80fd5b5f918252602090912001546001600160a01b0316905081565b61120389898989898988888b6040516020016111ef939291906121a1565b604051602081830303815290604052611104565b505050505050505050565b61120389898989898988888b60405160200161122c939291906121a1565b604051602081830303815290604052610c4f565b61124d8383836001611670565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156112c857818110156112ba57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161081f565b6112c884848484035f611670565b50505050565b6001600160a01b0383166112f757604051634b637e8f60e11b81525f600482015260240161081f565b6001600160a01b0382166113205760405163ec442f0560e01b81525f600482015260240161081f565b61124d838383611742565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138357507f000000000000000000000000000000000000000000000000000000000000000046145b156113ad57507f000000000000000000000000000000000000000000000000000000000000000090565b6109a0604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661147d57604051634b637e8f60e11b81525f600482015260240161081f565b610bec825f83611742565b6001600160a01b0382166114b15760405163ec442f0560e01b81525f600482015260240161081f565b610bec5f8383611742565b60606109a07f00000000000000000000000000000000000000000000000000000000000000006005611868565b60606109a07f00000000000000000000000000000000000000000000000000000000000000006006611868565b5f5160206122815f395f51905f526001600160a01b0383165f90815260209182526040808220848352909252205460ff1615610bec5760405163076f007560e21b815260040160405180910390fd5b6115788361157284611911565b8361191b565b61124d57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b0382165f8181525f5160206122815f395f51905f5260209081526040808320858452909152808220805460ff19166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b5f6116068484846112ce565b5060019392505050565b6001600160a01b0381165f908152600760205260408120805460018101909155610735565b61124d838383611240565b6111a08787878786868960405160200161165c939291906121a1565b604051602081830303815290604052610ebb565b6001600160a01b0384166116995760405163e602df0560e01b81525f600482015260240161081f565b6001600160a01b0383166116c257604051634a1406b160e11b81525f600482015260240161081f565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156112c857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161173491815260200190565b60405180910390a350505050565b6001600160a01b03831661176c578060025f8282546117619190612200565b909155506117dc9050565b6001600160a01b0383165f90815260208190526040902054818110156117be5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161081f565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166117f857600280548290039055611816565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185b91815260200190565b60405180910390a3505050565b606060ff83146118825761187b8361198b565b9050610735565b81805461188e906120f7565b80601f01602080910402602001604051908101604052809291908181526020018280546118ba906120f7565b80156119055780601f106118dc57610100808354040283529160200191611905565b820191905f5260205f20905b8154815290600101906020018083116118e857829003601f168201915b50505050509050610735565b5f610735826119c8565b5f836001600160a01b03163b5f03611979575f5f61193985856119f4565b5090925090505f8160038111156119525761195261221f565b1480156119705750856001600160a01b0316826001600160a01b0316145b925050506107d9565b611984848484611a3d565b90506107d9565b60605f61199783611b14565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f6107356119d461132b565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f8351604103611a2b576020840151604085015160608601515f1a611a1d88828585611b3b565b955095509550505050611a36565b505081515f91506002905b9250925092565b5f5f5f856001600160a01b03168585604051602401611a5d929190612233565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b17905251611a929190612253565b5f60405180830381855afa9150503d805f8114611aca576040519150601f19603f3d011682016040523d82523d5f602084013e611acf565b606091505b5091509150818015611ae357506020815110155b8015611b0a57508051630b135d3f60e11b90611b089083016020908101908401612269565b145b9695505050505050565b5f60ff8216601f81111561073557604051632cd44ac360e21b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611b7457505f91506003905082611bf9565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611bc5573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116611bf057505f925060019150829050611bf9565b92505f91508190505b9450945094915050565b5f60208284031215611c13575f5ffd5b81356001600160e01b0319811681146107d9575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6107d96020830184611c2a565b80356001600160a01b0381168114611c80575f5ffd5b919050565b5f5f60408385031215611c96575f5ffd5b611c9f83611c6a565b946020939093013593505050565b5f60208284031215611cbd575f5ffd5b6107d982611c6a565b5f5f5f60608486031215611cd8575f5ffd5b611ce184611c6a565b9250611cef60208501611c6a565b929592945050506040919091013590565b5f60208284031215611d10575f5ffd5b5035919050565b803560ff81168114611c80575f5ffd5b5f5f5f5f5f60a08688031215611d3b575f5ffd5b611d4486611c6a565b945060208601359350611d5960408701611d17565b94979396509394606081013594506080013592915050565b60ff60f81b8816815260e060208201525f611d8f60e0830189611c2a565b8281036040840152611da18189611c2a565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611df6578351835260209384019390920191600101611dd8565b50909b9a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611e2a575f5ffd5b813567ffffffffffffffff811115611e4457611e44611e07565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611e7357611e73611e07565b604052818152838201602001851015611e8a575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215611ebc575f5ffd5b611ec588611c6a565b9650611ed360208901611c6a565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115611f0a575f5ffd5b611f168a828b01611e1b565b91505092959891949750929550565b5f5f5f5f5f60a08688031215611f39575f5ffd5b611f4286611c6a565b9450611f5060208701611c6a565b93506040860135925060608601359150608086013567ffffffffffffffff811115611f79575f5ffd5b611f8588828901611e1b565b9150509295509295909350565b5f5f5f60608486031215611fa4575f5ffd5b611fad84611c6a565b925060208401359150604084013567ffffffffffffffff811115611fcf575f5ffd5b611fdb86828701611e1b565b9150509250925092565b5f5f5f5f5f5f5f60e0888a031215611ffb575f5ffd5b61200488611c6a565b965061201260208901611c6a565b9550604088013594506060880135935061202e60808901611d17565b9699959850939692959460a0840135945060c09093013592915050565b5f5f6040838503121561205c575f5ffd5b61206583611c6a565b915061207360208401611c6a565b90509250929050565b5f5f5f5f5f5f5f5f5f6101208a8c031215612095575f5ffd5b61209e8a611c6a565b98506120ac60208b01611c6a565b975060408a0135965060608a0135955060808a0135945060a08a013593506120d660c08b01611d17565b989b979a50959894979396929550929360e081013593506101000135919050565b600181811c9082168061210b57607f821691505b60208210810361212957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b928352602083019190915260f81b6001600160f81b031916604082015260410190565b9687526001600160a01b0395861660208801529390941660408601526060850191909152608084015260a083019190915260c082015260e00190565b8082018082111561073557634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f61224b6040830184611c2a565b949350505050565b5f82518060208501845e5f920191825250919050565b5f60208284031215612279575f5ffd5b505191905056fe6607eb842e76408d8b3956685dc6b9da5897a1d9b47edcc993ce266e603fa500", + "nonce": "0x1d", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x76deca8ce89dfd63b0d26405f18cd18260e8915cf56747465bc18b46e79681f8", + "transactionType": "CREATE", + "contractName": "FPI", + "contractAddress": "0xc43b147bf863779693cd5d92afd5c143c79e91e8", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x1ea2cb", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280601081526020016f08ce4c2f040a0e4d2c6ca4092dcc8caf60831b8152506040518060400160405280600381526020016246504960e81b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008b9190610321565b5060046100988282610321565b506100a891508390506005610206565b610120526100b7816006610206565b61014052815160208084019190912060e052815190820120610100524660a05261014360e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017457604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610437915050565b5f6020835110156102215761021a83610238565b9050610232565b8161022c8482610321565b5060ff90505b92915050565b5f5f829050601f8151111561026b578260405163305a27a960e01b815260040161026291906103df565b60405180910390fd5b805161027682610414565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a657607f821691505b6020821081036102c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031c578282111561031c57805f5260205f20601f840160051c60208510156102f557505f5b90810190601f840160051c035f5b81811015610318575f83820155600101610303565b5050505b505050565b81516001600160401b0381111561033a5761033a61027e565b61034e816103488454610292565b846102ca565b6020601f821160018114610380575f83156103695750848201515b5f19600385901b1c1916600184901b1784556103d8565b5f84815260208120601f198516915b828110156103af578785015182556020948501946001909201910161038f565b50848210156103cc57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c4575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104aa5f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x1e", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd2fa07ffeaf77c15efd6b062aad2a6f04b30b05c915987f992784af4c69c79d0", + "transactionType": "CREATE", + "contractName": "FrxBTC", + "contractAddress": "0xfadbeab442138e527dbd8269664162882cda7809", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x1ea2b6", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280600c81526020016b233930bc102134ba31b7b4b760a11b8152506040518060400160405280600681526020016566727842544360d01b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b8152508585816003908161008a9190610320565b5060046100978282610320565b506100a791508390506005610205565b610120526100b6816006610205565b61014052815160208084019190912060e052815190820120610100524660a05261014260e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017357604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b0319169290911691909117905550610436915050565b5f6020835110156102205761021983610237565b9050610231565b8161022b8482610320565b5060ff90505b92915050565b5f5f829050601f8151111561026a578260405163305a27a960e01b815260040161026191906103de565b60405180910390fd5b805161027582610413565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a557607f821691505b6020821081036102c357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031b578282111561031b57805f5260205f20601f840160051c60208510156102f457505f5b90810190601f840160051c035f5b81811015610317575f83820155600101610302565b5050505b505050565b81516001600160401b038111156103395761033961027d565b61034d816103478454610291565b846102c9565b6020601f82116001811461037f575f83156103685750848201515b5f19600385901b1c1916600184901b1784556103d7565b5f84815260208120601f198516915b828110156103ae578785015182556020948501946001909201910161038e565b50848210156103cb57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c3575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104a95f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x1f", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb2c8a767b712a2ca6c08d2ece18711b2824daffef69e778ee9de333543e9bf85", + "transactionType": "CREATE", + "contractName": "ERC20ExWrappedPPOM", + "contractAddress": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x201ed0", + "value": "0x0", + "input": "0x6006805460ff1916601217905560c060405260056080908152640312e312e360dc1b60a052601a906100319082610283565b5034801561003d575f5ffd5b5060016040518060400160405280600b81526020016a223ab6b6bc902a37b5b2b760a91b8152506040518060400160405280600581526020016444554d4d5960d81b81525081600490816100919190610283565b50600561009e8282610283565b5050506001600160a01b0381166100c857604051639b15e16f60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15061012961012e565b610341565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561017e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101dd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020857607f821691505b60208210810361022657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027e578282111561027e57805f5260205f20601f840160051c602085101561025757505f5b90810190601f840160051c035f5b8181101561027a575f83820155600101610265565b5050505b505050565b81516001600160401b0381111561029c5761029c6101e0565b6102b0816102aa84546101f4565b8461022c565b6020601f8211600181146102e2575f83156102cb5750848201515b5f19600385901b1c1916600184901b17845561033a565b5f84815260208120601f198516915b8281101561031157878501518255602094850194600190920191016102f1565b508482101561032e57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b6119948061034e5f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c806379ba509711610135578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104be578063dd62ed3e146104d1578063e78cea9214610463578063ee9a31a214610509578063f46eccc41461051c575f5ffd5b8063bdacb30314610474578063c01e1bd614610487578063d505accf14610498578063d6c0b2c414610487578063d73ced04146104ab575f5ffd5b806395d89b41116100fa57806395d89b4114610435578063983b2d561461043d5780639dc29fac14610337578063a9059cbb14610450578063ae1f6aaf14610463575f5ffd5b806379ba5097146103d957806379cc6790146103e15780637ecebe00146103f457806384b0196e146104075780638da5cb5b14610422575f5ffd5b80633644e515116101c157806354fd4d501161018657806354fd4d50146103705780636a257ebc146103785780636eb175541461038b57806370a082311461039e5780637941bc89146103c6575f5ffd5b80633644e515146103265780633eaaf86b1461032e57806340c10f191461033757806342966c681461034a57806353a47bb71461035d575f5ffd5b80631627540c116102075780631627540c146102c457806318160ddd146102d957806323b872dd146102eb5780633092afd5146102fe578063313ce56714610311575f5ffd5b806301ffc9a714610238578063033964be1461027157806306fdde031461029c578063095ea7b3146102b1575b5f5ffd5b61025c610246366004611633565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b601954610284906001600160a01b031681565b6040516001600160a01b039091168152602001610268565b6102a461053e565b604051610268919061168f565b61025c6102bf3660046116bc565b6105ce565b6102d76102d23660046116e4565b6105e7565b005b6009545b604051908152602001610268565b61025c6102f93660046116fd565b610667565b6102d761030c3660046116e4565b61068a565b60065460405160ff9091168152602001610268565b6102dd610841565b6102dd60095481565b6102d76103453660046116bc565b61084f565b6102d7610358366004611737565b610868565b600b54610284906001600160a01b031681565b6102a4610875565b6102d76103863660046116bc565b610901565b6102d7610399366004611737565b6109a2565b6102dd6103ac3660046116e4565b6001600160a01b03165f9081526007602052604090205490565b6102d76103d43660046116bc565b610a26565b6102d7610abf565b6102d76103ef3660046116bc565b610b5c565b6102dd6104023660046116e4565b610b75565b61040f610b92565b604051610268979695949392919061174e565b600a54610284906001600160a01b031681565b6102a4610be8565b6102d761044b3660046116e4565b610bf7565b61025c61045e3660046116bc565b610d52565b6018546001600160a01b0316610284565b6102d76104823660046116e4565b610d5f565b6019546001600160a01b0316610284565b6102d76104a63660046117e4565b610e12565b6102846104b9366004611737565b610f48565b601554610284906001600160a01b031681565b6102dd6104df366004611851565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b601854610284906001600160a01b031681565b61025c61052a3660046116e4565b60176020525f908152604090205460ff1681565b60606004805461054d90611882565b80601f016020809104026020016040519081016040528092919081815260200182805461057990611882565b80156105c45780601f1061059b576101008083540402835291602001916105c4565b820191905f5260205f20905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b5f336105db818585610f70565b60019150505b92915050565b600a546001600160a01b0316331461061257604051635fc483c560e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f33610674858285610f82565b61067f858585610ffd565b506001949350505050565b6015546001600160a01b03163314806106ad5750600a546001600160a01b031633145b6106d25760405162461bcd60e51b81526004016106c9906118ba565b60405180910390fd5b6001600160a01b0381166106f85760405162461bcd60e51b81526004016106c9906118e9565b6001600160a01b0381165f9081526017602052604090205460ff16151560011461075b5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106c9565b6001600160a01b0381165f908152601760205260408120805460ff191690555b60165481101561080757816001600160a01b0316601682815481106107a2576107a2611918565b5f918252602090912001546001600160a01b0316036107ff575f601682815481106107cf576107cf611918565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550610807565b60010161077b565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161065c565b5f61084a61105a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b61087233826110ee565b50565b601a805461088290611882565b80601f01602080910402602001604051908101604052809291908181526020018280546108ae90611882565b80156108f95780601f106108d0576101008083540402835291602001916108f9565b820191905f5260205f20905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b335f9081526017602052604090205460ff1615156001146109535760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106c9565b61095d8282611122565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b6015546001600160a01b03163314806109c55750600a546001600160a01b031633145b6109e15760405162461bcd60e51b81526004016106c9906118ba565b5f811215610a0d576109f281611940565b60095f828254610a02919061195a565b909155506108729050565b8060095f828254610a1e919061196d565b909155505050565b335f9081526017602052604090205460ff161515600114610a785760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106c9565b610a828282610b5c565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610996565b600b546001600160a01b03163314610aea57604051636ba599a760e11b815260040160405180910390fd5b600a54600b54604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1600b8054600a80546001600160a01b03199081166001600160a01b03841617909155169055565b610b67823383610f82565b610b7182826110ee565b5050565b6001600160a01b0381165f908152600260205260408120546105e1565b5f6060805f5f5f6060610bb1600c60135461115690919063ffffffff16565b601454610bbf90600d611156565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606005805461054d90611882565b6015546001600160a01b0316331480610c1a5750600a546001600160a01b031633145b610c365760405162461bcd60e51b81526004016106c9906118ba565b6001600160a01b038116610c5c5760405162461bcd60e51b81526004016106c9906118e9565b6001600160a01b0381165f9081526017602052604090205460ff1615610cbd5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106c9565b6001600160a01b0381165f818152601760209081526040808320805460ff191660019081179091556016805491820181559093527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161065c565b5f336105db818585610ffd565b6015546001600160a01b0316331480610d825750600a546001600160a01b031633145b610d9e5760405162461bcd60e51b81526004016106c9906118ba565b6001600160a01b038116610dc45760405162461bcd60e51b81526004016106c9906118e9565b601580546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161065c565b83421115610e365760405163313c898160e11b8152600481018590526024016106c9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610e818c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610edb826111ff565b90505f610eea8287878761122b565b9050896001600160a01b0316816001600160a01b031614610f31576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106c9565b610f3c8a8a8a610f70565b50505050505050505050565b60168181548110610f57575f80fd5b5f918252602090912001546001600160a01b0316905081565b610f7d8383836001611257565b505050565b6001600160a01b038381165f908152600860209081526040808320938616835292905220545f198114610ff75781811015610fe957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106c9565b610ff784848484035f611257565b50505050565b6001600160a01b03831661102657604051634b637e8f60e11b81525f60048201526024016106c9565b6001600160a01b03821661104f5760405163ec442f0560e01b81525f60048201526024016106c9565b610f7d838383611329565b6010545f906001600160a01b0316301480156110775750600f5446145b156110835750600e5490565b61084a601154601254604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661111757604051634b637e8f60e11b81525f60048201526024016106c9565b610b71825f83611329565b6001600160a01b03821661114b5760405163ec442f0560e01b81525f60048201526024016106c9565b610b715f8383611329565b606060ff8314611170576111698361144f565b90506105e1565b81805461117c90611882565b80601f01602080910402602001604051908101604052809291908181526020018280546111a890611882565b80156111f35780601f106111ca576101008083540402835291602001916111f3565b820191905f5260205f20905b8154815290600101906020018083116111d657829003601f168201915b505050505090506105e1565b5f6105e161120b61105a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f61123b8888888861148c565b92509250925061124b8282611554565b50909695505050505050565b6001600160a01b0384166112805760405163e602df0560e01b81525f60048201526024016106c9565b6001600160a01b0383166112a957604051634a1406b160e11b81525f60048201526024016106c9565b6001600160a01b038085165f9081526008602090815260408083209387168352929052208290558015610ff757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161131b91815260200190565b60405180910390a350505050565b6001600160a01b038316611353578060095f828254611348919061196d565b909155506113c39050565b6001600160a01b0383165f90815260076020526040902054818110156113a55760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106c9565b6001600160a01b0384165f9081526007602052604090209082900390555b6001600160a01b0382166113df576009805482900390556113fd565b6001600160a01b0382165f9081526007602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161144291815260200190565b60405180910390a3505050565b60605f61145b8361160c565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156114c557505f9150600390508261154a565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611516573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661154157505f92506001915082905061154a565b92505f91508190505b9450945094915050565b5f82600381111561156757611567611980565b03611570575050565b600182600381111561158457611584611980565b036115a25760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115b6576115b6611980565b036115d75760405163fce698f760e01b8152600481018290526024016106c9565b60038260038111156115eb576115eb611980565b03610b71576040516335e2f38360e21b8152600481018290526024016106c9565b5f60ff8216601f8111156105e157604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611643575f5ffd5b81356001600160e01b03198116811461165a575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61165a6020830184611661565b80356001600160a01b03811681146116b7575f5ffd5b919050565b5f5f604083850312156116cd575f5ffd5b6116d6836116a1565b946020939093013593505050565b5f602082840312156116f4575f5ffd5b61165a826116a1565b5f5f5f6060848603121561170f575f5ffd5b611718846116a1565b9250611726602085016116a1565b929592945050506040919091013590565b5f60208284031215611747575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176c60e0830189611661565b828103604084015261177e8189611661565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d35783518352602093840193909201916001016117b5565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117fa575f5ffd5b611803886116a1565b9650611811602089016116a1565b95506040880135945060608801359350608088013560ff81168114611834575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611862575f5ffd5b61186b836116a1565b9150611879602084016116a1565b90509250929050565b600181811c9082168061189657607f821691505b6020821081036118b457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b82016119545761195461192c565b505f0390565b818103818111156105e1576105e161192c565b808201808211156105e1576105e161192c565b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x20", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x33a3db0da26c547666d2fcbe608278fe8a7211baeab1d27201145a91e562404b", + "transactionType": "CREATE", + "contractName": "SfrxETH", + "contractAddress": "0x4818aab499ec0f5d816968899bf69ecd5c39f354", + "function": null, + "arguments": null, + "transaction": { + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "gas": "0x1ea333", + "value": "0x0", + "input": "0x6101a0604052348015610010575f5ffd5b506040518060400160405280601181526020017029ba30b5b2b210233930bc1022ba3432b960791b815250604051806040016040528060078152602001660e6cce4f08aa8960cb1b81525060015f5f5f8585858280604051806040016040528060018152602001603160f81b815250858581600390816100909190610326565b50600461009d8282610326565b506100ad9150839050600561020b565b610120526100bc81600661020b565b61014052815160208084019190912060e052815190820120610100524660a05261014860e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811661017957604051639b15e16f60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b038316908117909155604080515f815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15050506001600160a01b039081166101805290811661016052600a80546001600160a01b031916929091169190911790555061043c915050565b5f6020835110156102265761021f8361023d565b9050610237565b816102318482610326565b5060ff90505b92915050565b5f5f829050601f81511115610270578260405163305a27a960e01b815260040161026791906103e4565b60405180910390fd5b805161027b82610419565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ab57607f821691505b6020821081036102c957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610321578282111561032157805f5260205f20601f840160051c60208510156102fa57505f5b90810190601f840160051c035f5b8181101561031d575f83820155600101610308565b5050505b505050565b81516001600160401b0381111561033f5761033f610283565b6103538161034d8454610297565b846102cf565b6020601f821160018114610385575f831561036e5750848201515b5f19600385901b1c1916600184901b1784556103dd565b5f84815260208120601f198516915b828110156103b45787850151825560209485019460019092019101610394565b50848210156103d157868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102c9575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051610160516101805161195e6104af5f395f8181610260015261049301525f818161045a015261052d01525f61112f01525f61110201525f61104301525f61101b01525f610f7601525f610fa001525f610fca015261195e5ff3fe608060405234801561000f575f5ffd5b506004361061021e575f3560e01c806379cc67901161012a578063bdacb303116100b4578063dc6663c711610079578063dc6663c7146104dd578063dd62ed3e146104f0578063e78cea9214610458578063ee9a31a214610528578063f46eccc41461054f575f5ffd5b8063bdacb3031461047e578063c01e1bd614610491578063d505accf146104b7578063d6c0b2c414610491578063d73ced04146104ca575f5ffd5b806395d89b41116100fa57806395d89b411461042a578063983b2d56146104325780639dc29fac14610326578063a9059cbb14610445578063ae1f6aaf14610458575f5ffd5b806379cc6790146103d65780637ecebe00146103e957806384b0196e146103fc5780638da5cb5b14610417575f5ffd5b80633644e515116101ab57806354fd4d501161017b57806354fd4d501461035f5780636a257ebc1461038057806370a08231146103935780637941bc89146103bb57806379ba5097146103ce575f5ffd5b80633644e5151461031e57806340c10f191461032657806342966c681461033957806353a47bb71461034c575f5ffd5b80631627540c116101f15780631627540c146102c257806318160ddd146102d757806323b872dd146102e95780633092afd5146102fc578063313ce5671461030f575f5ffd5b806301ffc9a714610222578063033964be1461025b57806306fdde031461029a578063095ea7b3146102af575b5f5ffd5b610246610230366004611632565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610252565b6102a2610571565b604051610252919061168e565b6102466102bd3660046116bb565b610601565b6102d56102d03660046116e3565b61061a565b005b6002545b604051908152602001610252565b6102466102f73660046116fc565b61069a565b6102d561030a3660046116e3565b6106bd565b60405160128152602001610252565b6102db610874565b6102d56103343660046116bb565b610882565b6102d5610347366004611736565b61089b565b600954610282906001600160a01b031681565b6040805180820190915260058152640312e302e360dc1b60208201526102a2565b6102d561038e3660046116bb565b6108a8565b6102db6103a13660046116e3565b6001600160a01b03165f9081526020819052604090205490565b6102d56103c93660046116bb565b610949565b6102d56109e2565b6102d56103e43660046116bb565b610a7f565b6102db6103f73660046116e3565b610a98565b610404610ab5565b604051610252979695949392919061174d565b600854610282906001600160a01b031681565b6102a2610af7565b6102d56104403660046116e3565b610b06565b6102466104533660046116bb565b610c61565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d561048c3660046116e3565b610c6e565b7f0000000000000000000000000000000000000000000000000000000000000000610282565b6102d56104c53660046117e3565b610d21565b6102826104d8366004611736565b610e57565b600a54610282906001600160a01b031681565b6102db6104fe366004611850565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102827f000000000000000000000000000000000000000000000000000000000000000081565b61024661055d3660046116e3565b600c6020525f908152604090205460ff1681565b60606003805461058090611881565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611881565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f3361060e818585610e7f565b60019150505b92915050565b6008546001600160a01b0316331461064557604051635fc483c560e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b5f336106a7858285610e91565b6106b2858585610f0d565b506001949350505050565b600a546001600160a01b03163314806106e057506008546001600160a01b031633145b6107055760405162461bcd60e51b81526004016106fc906118b9565b60405180910390fd5b6001600160a01b03811661072b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff16151560011461078e5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdb8b595e1a5cdd195b9d60621b60448201526064016106fc565b6001600160a01b0381165f908152600c60205260408120805460ff191690555b600b5481101561083a57816001600160a01b0316600b82815481106107d5576107d5611917565b5f918252602090912001546001600160a01b031603610832575f600b828154811061080257610802611917565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061083a565b6001016107ae565b506040516001600160a01b03821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161068f565b5f61087d610f6a565b905090565b6040516331cee75f60e21b815260040160405180910390fd5b6108a53382611093565b50565b335f908152600c602052604090205460ff1615156001146108fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b61090482826110c7565b6040518181526001600160a01b0383169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b335f908152600c602052604090205460ff16151560011461099b5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79206d696e7465727360a01b60448201526064016106fc565b6109a58282610a7f565b60405181815233906001600160a01b038416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c7479060200161093d565b6009546001600160a01b03163314610a0d57604051636ba599a760e11b815260040160405180910390fd5b600854600954604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160098054600880546001600160a01b03199081166001600160a01b03841617909155169055565b610a8a823383610e91565b610a948282611093565b5050565b6001600160a01b0381165f90815260076020526040812054610614565b5f6060805f5f5f6060610ac66110fb565b610ace611128565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461058090611881565b600a546001600160a01b0316331480610b2957506008546001600160a01b031633145b610b455760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610b6b5760405162461bcd60e51b81526004016106fc906118e8565b6001600160a01b0381165f908152600c602052604090205460ff1615610bcc5760405162461bcd60e51b81526020600482015260166024820152754164647265737320616c72656164792065786973747360501b60448201526064016106fc565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600b805491820181559093527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990920180546001600160a01b0319168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161068f565b5f3361060e818585610f0d565b600a546001600160a01b0316331480610c9157506008546001600160a01b031633145b610cad5760405162461bcd60e51b81526004016106fc906118b9565b6001600160a01b038116610cd35760405162461bcd60e51b81526004016106fc906118e8565b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161068f565b83421115610d455760405163313c898160e11b8152600481018590526024016106fc565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d908c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610dea82611155565b90505f610df982878787611181565b9050896001600160a01b0316816001600160a01b031614610e40576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016106fc565b610e4b8a8a8a610e7f565b50505050505050505050565b600b8181548110610e66575f80fd5b5f918252602090912001546001600160a01b0316905081565b610e8c83838360016111ad565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610f075781811015610ef957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016106fc565b610f0784848484035f6111ad565b50505050565b6001600160a01b038316610f3657604051634b637e8f60e11b81525f60048201526024016106fc565b6001600160a01b038216610f5f5760405163ec442f0560e01b81525f60048201526024016106fc565b610e8c83838361127f565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610fc257507f000000000000000000000000000000000000000000000000000000000000000046145b15610fec57507f000000000000000000000000000000000000000000000000000000000000000090565b61087d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166110bc57604051634b637e8f60e11b81525f60048201526024016106fc565b610a94825f8361127f565b6001600160a01b0382166110f05760405163ec442f0560e01b81525f60048201526024016106fc565b610a945f838361127f565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060056113a5565b606061087d7f000000000000000000000000000000000000000000000000000000000000000060066113a5565b5f610614611161610f6a565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6111918888888861144e565b9250925092506111a18282611516565b50909695505050505050565b6001600160a01b0384166111d65760405163e602df0560e01b81525f60048201526024016106fc565b6001600160a01b0383166111ff57604051634a1406b160e11b81525f60048201526024016106fc565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610f0757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161127191815260200190565b60405180910390a350505050565b6001600160a01b0383166112a9578060025f82825461129e919061192b565b909155506113199050565b6001600160a01b0383165f90815260208190526040902054818110156112fb5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016106fc565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661133557600280548290039055611353565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139891815260200190565b60405180910390a3505050565b606060ff83146113bf576113b8836115ce565b9050610614565b8180546113cb90611881565b80601f01602080910402602001604051908101604052809291908181526020018280546113f790611881565b80156114425780601f1061141957610100808354040283529160200191611442565b820191905f5260205f20905b81548152906001019060200180831161142557829003601f168201915b50505050509050610614565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561148757505f9150600390508261150c565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156114d8573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661150357505f92506001915082905061150c565b92505f91508190505b9450945094915050565b5f8260038111156115295761152961194a565b03611532575050565b60018260038111156115465761154661194a565b036115645760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156115785761157861194a565b036115995760405163fce698f760e01b8152600481018290526024016106fc565b60038260038111156115ad576115ad61194a565b03610a94576040516335e2f38360e21b8152600481018290526024016106fc565b60605f6115da8361160b565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561061457604051632cd44ac360e21b815260040160405180910390fd5b5f60208284031215611642575f5ffd5b81356001600160e01b031981168114611659575f5ffd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6116596020830184611660565b80356001600160a01b03811681146116b6575f5ffd5b919050565b5f5f604083850312156116cc575f5ffd5b6116d5836116a0565b946020939093013593505050565b5f602082840312156116f3575f5ffd5b611659826116a0565b5f5f5f6060848603121561170e575f5ffd5b611717846116a0565b9250611725602085016116a0565b929592945050506040919091013590565b5f60208284031215611746575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f61176b60e0830189611660565b828103604084015261177d8189611660565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b818110156117d25783518352602093840193909201916001016117b4565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a0312156117f9575f5ffd5b611802886116a0565b9650611810602089016116a0565b95506040880135945060608801359350608088013560ff81168114611833575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611861575f5ffd5b61186a836116a0565b9150611878602084016116a0565b90509250929050565b600181811c9082168061189557607f821691505b6020821081036118b357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601590820152744e6f74206f776e6572206f722074696d656c6f636b60581b604082015260600190565b60208082526015908201527416995c9bc81859191c995cdcc819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561061457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffd", + "nonce": "0x21", + "chainId": "0xfc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x287371", + "logs": [ + { + "address": "0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x1f0a52239622a064fdbe8b00ce45f8df9255869987125ca1d686d9b69527ab92", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000004000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000004000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1f0a52239622a064fdbe8b00ce45f8df9255869987125ca1d686d9b69527ab92", + "transactionIndex": "0x1", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x27b682", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0xedc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc5", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x28461c299ccc6", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x1ae47" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x47d6fc", + "logs": [ + { + "address": "0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x76deca8ce89dfd63b0d26405f18cd18260e8915cf56747465bc18b46e79681f8", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000020000000000000000000080000000000000000000000400000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x76deca8ce89dfd63b0d26405f18cd18260e8915cf56747465bc18b46e79681f8", + "transactionIndex": "0x2", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x1f638b", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0x1d57a0ff1725cd61c6aed396b64f65aa9d6b6565", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x213cade69e84b", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x16319" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5f67e7", + "logs": [ + { + "address": "0xc43b147bf863779693cd5d92afd5c143c79e91e8", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x33a3db0da26c547666d2fcbe608278fe8a7211baeab1d27201145a91e562404b", + "transactionIndex": "0x3", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000100800000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x33a3db0da26c547666d2fcbe608278fe8a7211baeab1d27201145a91e562404b", + "transactionIndex": "0x3", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x1790eb", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0xc43b147bf863779693cd5d92afd5c143c79e91e8", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x193db67c3aff9", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10dab" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x76f8c2", + "logs": [ + { + "address": "0xfadbeab442138e527dbd8269664162882cda7809", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0xb2c8a767b712a2ca6c08d2ece18711b2824daffef69e778ee9de333543e9bf85", + "transactionIndex": "0x4", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000100000000000000000000000000000002000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb2c8a767b712a2ca6c08d2ece18711b2824daffef69e778ee9de333543e9bf85", + "transactionIndex": "0x4", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x1790db", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0xfadbeab442138e527dbd8269664162882cda7809", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x1942b948ca203", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10de1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8fae00", + "logs": [ + { + "address": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000100000000080000000000000000400000000000000000000000000000000000000000000000000004080000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x56ffbcca634038f72af6b1ee51cda2c865583a08710e2c6c09e7fb2c9e2ee255", + "transactionIndex": "0x5", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x18b53e", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0x68cbfbfd89a8ba427dbbf007b29428a3b2b51d07", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x190556fef0d0d", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10b51" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa73f3b", + "logs": [ + { + "address": "0x4818aab499ec0f5d816968899bf69ecd5c39f354", + "topics": [ + "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "blockTimestamp": "0x69cc383b", + "transactionHash": "0xd2fa07ffeaf77c15efd6b062aad2a6f04b30b05c915987f992784af4c69c79d0", + "transactionIndex": "0x6", + "logIndex": "0x6", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd2fa07ffeaf77c15efd6b062aad2a6f04b30b05c915987f992784af4c69c79d0", + "transactionIndex": "0x6", + "blockHash": "0xf756f1e67d240671f584279d38d8e044df141179a86b7d599df83a36be5ac943", + "blockNumber": "0x2082d72", + "gasUsed": "0x17913b", + "effectiveGasPrice": "0xff", + "from": "0x54f9b12743a7deec0ea48721683cbebedc6e17bc", + "to": null, + "contractAddress": "0x4818aab499ec0f5d816968899bf69ecd5c39f354", + "l1BaseFeeScalar": "0x2faf080", + "l1BlobBaseFee": "0x6e5308", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x19453aaf11b07", + "l1GasPrice": "0x7aaeb96", + "l1GasUsed": "0x10dfc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1774991610408, + "chain": 252, + "commit": "a9c2cdd" +} \ No newline at end of file diff --git a/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json index c910109..a0e58e3 100644 --- a/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json +++ b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.json @@ -1,43 +1,43 @@ { "chainId": 252, - "createdAt": 1764702807000, + "createdAt": 1774991401000, "meta": { "description": "", "name": "Transactions Batch" }, "transactions": [ { - "data": "0x9623609d000000000000000000000000fc000000000000000000000000000000000000010000000000000000000000006550284ea5dcb134a45a6f3c80afa2b30bc56fe90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000001000000000000000000000000edc3c7ee4570e61950acd5c8a0aefb3b5c3c3dc50000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", "operation": 0, "to": "0xfC0000000000000000000000000000000000000a", "value": "0" }, { - "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000008000000000000000000000000e8cd13de17cec6fcd9dd5e0a1465da240f9515360000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "data": "0x9623609d000000000000000000000000fc000000000000000000000000000000000000080000000000000000000000001d57a0ff1725cd61c6aed396b64f65aa9d6b65650000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", "operation": 0, "to": "0xfC0000000000000000000000000000000000000a", "value": "0" }, { - "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000003000000000000000000000000dc3369c18ff9c077b803c98b6260a186ade9a4260000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000003000000000000000000000000c43b147bf863779693cd5d92afd5c143c79e91e80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", "operation": 0, "to": "0xfC0000000000000000000000000000000000000a", "value": "0" }, { - "data": "0x9623609d000000000000000000000000fc0000000000000000000000000000000000000700000000000000000000000013ee9ace05a91360f847f36ee22729336725a1de0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000007000000000000000000000000fadbeab442138e527dbd8269664162882cda78090000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", "operation": 0, "to": "0xfC0000000000000000000000000000000000000a", "value": "0" }, { - "data": "0x9623609d000000000000000000000000fc0000000000000000000000000000000000000600000000000000000000000056fdaa8ea2fd7ee7a93a15cf8c49a9d3307392ba0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "data": "0x9623609d000000000000000000000000fc0000000000000000000000000000000000000600000000000000000000000068cbfbfd89a8ba427dbbf007b29428a3b2b51d070000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", "operation": 0, "to": "0xfC0000000000000000000000000000000000000a", "value": "0" }, { - "data": "0x9623609d000000000000000000000000fc00000000000000000000000000000000000005000000000000000000000000d3e09b109c90d98c0afc09ff961f299b2bffb9fe0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", + "data": "0x9623609d000000000000000000000000fc000000000000000000000000000000000000050000000000000000000000004818aab499ec0f5d816968899bf69ecd5c39f3540000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000418160ddd00000000000000000000000000000000000000000000000000000000", "operation": 0, "to": "0xfC0000000000000000000000000000000000000a", "value": "0" diff --git a/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol index 7c42f20..aa804f3 100644 --- a/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol +++ b/src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol @@ -22,7 +22,7 @@ address constant FRXBTC_PROXY = 0xfC00000000000000000000000000000000000007; address constant FRXETH_PROXY = 0xFC00000000000000000000000000000000000006; address constant SFRXETH_PROXY = 0xFC00000000000000000000000000000000000005; -// forge script src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol --rpc-url https://rpc.frax.com TODO: verify +// forge script src/script/fraxtal/2025-12-02-deprecate-native-bridging/DeprecateNativeBridging.s.sol --rpc-url https://rpc.frax.com --broadcast --gcp --verify --verifier etherscan --etherscan-api-key $ETHERSCAN_API_KEY --sender 0x54f9b12743a7deec0ea48721683cbebedc6e17bc contract DeprecateNativeBridging is BaseScript { address public proxyAdmin; address public owner; @@ -59,7 +59,7 @@ contract DeprecateNativeBridging is BaseScript { } function deployAndUpgradeFrxUsd() public { - vm.startBroadcast(deployer); + vm.startBroadcast(); implementation = address(new FrxUSD()); require(implementation != address(0), "Failed implementation"); vm.stopBroadcast(); @@ -68,7 +68,7 @@ contract DeprecateNativeBridging is BaseScript { } function deployAndUpgradeSfrxUsd() public { - vm.startBroadcast(deployer); + vm.startBroadcast(); implementation = address(new SfrxUSD()); require(implementation != address(0), "Failed implementation"); vm.stopBroadcast(); @@ -77,7 +77,7 @@ contract DeprecateNativeBridging is BaseScript { } function deployAndUpgradeFpi() public { - vm.startBroadcast(deployer); + vm.startBroadcast(); implementation = address(new FPI()); require(implementation != address(0), "Failed implementation"); vm.stopBroadcast(); @@ -86,7 +86,7 @@ contract DeprecateNativeBridging is BaseScript { } function deployAndUpgradeFrxBtc() public { - vm.startBroadcast(deployer); + vm.startBroadcast(); implementation = address(new FrxBTC()); require(implementation != address(0), "Failed implementation"); vm.stopBroadcast(); @@ -95,7 +95,7 @@ contract DeprecateNativeBridging is BaseScript { } function deployAndUpgradeFrxEth() public { - vm.startBroadcast(deployer); + vm.startBroadcast(); implementation = address(new FrxETH()); require(implementation != address(0), "Failed implementation"); vm.stopBroadcast(); @@ -104,7 +104,7 @@ contract DeprecateNativeBridging is BaseScript { } function deployAndUpgradeSfrxEth() public { - vm.startBroadcast(deployer); + vm.startBroadcast(); implementation = address(new SfrxETH()); require(implementation != address(0), "Failed implementation"); vm.stopBroadcast(); From 1c8452967041fc47f966ecaf3f87de1b9f0e6ef6 Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Tue, 31 Mar 2026 14:25:54 -0700 Subject: [PATCH 17/17] test: fix --- src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol b/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol index 5aff11b..6cd9c12 100644 --- a/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol +++ b/src/test/FrxUSD/Fraxtal/CompilanceTests.t.sol @@ -333,11 +333,8 @@ contract FrxUSD_Fraxtal_Compliance is FraxTest { <*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*> */ function test_BRIDGE_static() public { - address bridge = frxusd.BRIDGE(); _upgradeFrxUSD(); - address bridgePost = frxusd.BRIDGE(); - assertEq({ left: bridge, right: bridgePost, err: "// THEN: bridge not static across upgrades" }); - console.log("BRIDGE: ", bridge); + assertEq({ left: frxusd.BRIDGE(), right: address(0), err: "// THEN: bridge not static across upgrades" }); } function test_decimals_static() public { @@ -348,17 +345,17 @@ contract FrxUSD_Fraxtal_Compliance is FraxTest { } function test_l1token_static() public { - address l1token = frxusd.l1Token(); _upgradeFrxUSD(); - address l1tokenPost = frxusd.l1Token(); - assertEq({ left: l1token, right: l1tokenPost, err: "// THEN: l1Token not static across upgrade" }); + assertEq({ left: frxusd.l1Token(), right: address(0), err: "// THEN: l1Token not static across upgrade" }); } function test_l2bridge_static() public { - address l2bridge = frxusd.l2Bridge(); _upgradeFrxUSD(); - address l2bridgePost = frxusd.l2Bridge(); - assertEq({ left: l2bridge, right: l2bridgePost, err: "// THEN: l2bridge vriable not static across upgrade" }); + assertEq({ + left: frxusd.l2Bridge(), + right: address(0), + err: "// THEN: l2bridge variable not static across upgrade" + }); } function test_name_static() public { @@ -376,25 +373,26 @@ contract FrxUSD_Fraxtal_Compliance is FraxTest { } function test_bridge_static() public { - address bridge = frxusd.bridge(); _upgradeFrxUSD(); - address bridgePost = frxusd.bridge(); - assertEq({ left: bridge, right: bridgePost, err: "// THEN: bridge not static across upgrades" }); - console.log("brdige: ", bridge); + assertEq({ left: frxusd.bridge(), right: address(0), err: "// THEN: bridge not static across upgrades" }); } function test_REMOTE_TOKEN_static() public { - address remote = frxusd.REMOTE_TOKEN(); _upgradeFrxUSD(); - address remotePost = frxusd.REMOTE_TOKEN(); - assertEq({ left: remote, right: remotePost, err: "// THEN: remote token not static across upgrade" }); + assertEq({ + left: frxusd.REMOTE_TOKEN(), + right: address(0), + err: "// THEN: remote token not static across upgrade" + }); } function test_remote_token_static() public { - address remote = frxusd.remoteToken(); _upgradeFrxUSD(); - address remotePost = frxusd.remoteToken(); - assertEq({ left: remote, right: remotePost, err: "// THEN: remote token not static across upgrade" }); + assertEq({ + left: frxusd.remoteToken(), + right: address(0), + err: "// THEN: remote token not static across upgrade" + }); } function test_timelock_address_static() public {