From 0e81ff2561b5ee6ba97e1cdebb24aa0d528a3693 Mon Sep 17 00:00:00 2001 From: Michael Standen Date: Wed, 15 Mar 2023 13:00:58 +1300 Subject: [PATCH 1/7] Fix tests --- package.json | 5 ++--- tests/ERC20Wrapper.spec.ts | 6 ++---- tests/MetaERC20Wrapper.spec.ts | 6 ++---- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index c4c81c4..c9187fa 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,9 @@ "adapter:gen": "rimraf src/gen/typechain && typechain --target ethers-v5 --outDir src/gen/typechain './src/artifacts/contracts/**/*[^dbg].json'", "adapter:build": "rimraf src/gen/adapter && tsc ./src/gen/typechain/index.ts --outDir ./src/gen/adapter", "test": "yarn build && yarn concurrently -k --success first 'yarn start:ganache' 'yarn test:ganache'", - "test:hardhat": "hardhat test tests/*.spec.ts", - "test:ganache": "hardhat --network ganache test tests/*.spec.ts", + "test:hardhat": "hardhat test", + "test:ganache": "hardhat --network ganache test", "test:gas-report": "REPORT_GAS=true yarn test", - "test:benchmark": "hardhat --network ganache test tests/*.bench.ts", "lint": "yarn lint:ts && yarn lint:sol", "lint:fix": "yarn lint:ts:fix && yarn lint:sol:fix", "lint:sol": "solhint './src/contracts/**/*.sol'", diff --git a/tests/ERC20Wrapper.spec.ts b/tests/ERC20Wrapper.spec.ts index bf684f5..0cbaaec 100644 --- a/tests/ERC20Wrapper.spec.ts +++ b/tests/ERC20Wrapper.spec.ts @@ -1,5 +1,3 @@ -import * as ethers from 'ethers' - import { AbstractContract, RevertError, expect } from './utils' import * as utils from './utils' @@ -11,7 +9,7 @@ import { import { BigNumber } from 'ethers' // init test wallets from package.json mnemonic -import { web3 } from 'hardhat' +import { ethers, web3 } from 'hardhat' const { wallet: ownerWallet, @@ -62,7 +60,7 @@ describe('ERC20Wrapper', () => { let userERC20Contract: ERC20Mock // Provider - let provider = new ethers.providers.JsonRpcProvider() + const { provider } = ethers context('When Erc20Wrapper contract is deployed', () => { before(async () => { diff --git a/tests/MetaERC20Wrapper.spec.ts b/tests/MetaERC20Wrapper.spec.ts index 8434382..30eadfe 100644 --- a/tests/MetaERC20Wrapper.spec.ts +++ b/tests/MetaERC20Wrapper.spec.ts @@ -1,5 +1,3 @@ -import * as ethers from 'ethers' - import { AbstractContract, RevertError, expect } from './utils' import * as utils from './utils' @@ -11,7 +9,7 @@ import { import { BigNumber } from 'ethers'; // init test wallets from package.json mnemonic -import { web3 } from 'hardhat' +import { ethers, web3 } from 'hardhat' const { wallet: ownerWallet, @@ -62,7 +60,7 @@ describe('MetaErc20Wrapper', () => { let userERC20Contract: ERC20Mock // Provider - let provider = new ethers.providers.JsonRpcProvider() + const { provider } = ethers context('When MetaERC20Wrapper contract is deployed', () => { before(async () => { From 0a53122ec9e010c0feb214128620be29ef2262d1 Mon Sep 17 00:00:00 2001 From: Michael Standen Date: Wed, 15 Mar 2023 13:15:14 +1300 Subject: [PATCH 2/7] Upgrade to sol ^0.8.0 --- .solhint.json | 2 +- README.md | 2 +- hardhat.config.ts | 2 +- package.json | 2 +- src/README.md | 2 +- src/contracts/interfaces/IERC20Wrapper.sol | 4 +- src/contracts/mocks/ERC20Mock.sol | 26 +- src/contracts/wrapper/ERC20Wrapper.sol | 4 +- src/contracts/wrapper/MetaERC20Wrapper.sol | 4 +- src/package.json | 2 +- tests/ERC20Wrapper.spec.ts | 12 +- tests/MetaERC20Wrapper.spec.ts | 12 +- tests/utils/helpers.ts | 11 +- yarn.lock | 1636 ++++++++++++++------ 14 files changed, 1165 insertions(+), 556 deletions(-) diff --git a/.solhint.json b/.solhint.json index 8a6ee61..3352d5a 100644 --- a/.solhint.json +++ b/.solhint.json @@ -17,7 +17,7 @@ "no-unused-vars": "off", "no-inline-assembly": "off", "visibility-modifier-order": "off", - "compiler-version": ["error", "0.7.4"], + "compiler-version": ["error", "^0.8.0"], "func-visibility": ["warn", {"ignoreConstructors":true}], "reason-string": ["warn", {"maxLength": 96}] } diff --git a/README.md b/README.md index d8eb1c6..febf5e5 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ an ERC-20 token to function as an ERC-1155 contract. ### Usage from Solidity ```solidity -pragma solidity ^0.7.4; +pragma solidity ^0.8.0; import '@0xsequence/erc20-meta-token/contracts/interfaces/IERC20Wrapper.sol'; diff --git a/hardhat.config.ts b/hardhat.config.ts index 9918c24..b345232 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -8,7 +8,7 @@ import '@tenderly/hardhat-tenderly' const config: HardhatUserConfig = { solidity: { - version: '0.7.4', + version: '0.8.18', settings: { optimizer: { enabled: true, diff --git a/package.json b/package.json index c9187fa..6ee7ed1 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "eslint-plugin-prettier": "^3.3.1", "ethers": "^5.0.32", "ganache-cli": "6.12.2", - "hardhat": "2.1.1", + "hardhat": "2.12.2", "hardhat-gas-reporter": "^1.0.4", "rimraf": "^3.0.2", "solhint": "^3.3.2", diff --git a/src/README.md b/src/README.md index f3066c1..bbc9a7d 100644 --- a/src/README.md +++ b/src/README.md @@ -22,7 +22,7 @@ For more information see, [github.com/0xsequence/erc20-meta-token](https://githu ### Usage from Solidity ```solidity -pragma solidity ^0.7.4; +pragma solidity ^0.8.0; import '@0xsequence/erc20-meta-token/contracts/interfaces/IMetaERC20Wrapper.sol'; diff --git a/src/contracts/interfaces/IERC20Wrapper.sol b/src/contracts/interfaces/IERC20Wrapper.sol index 0536d13..c97410b 100644 --- a/src/contracts/interfaces/IERC20Wrapper.sol +++ b/src/contracts/interfaces/IERC20Wrapper.sol @@ -1,4 +1,4 @@ -pragma solidity 0.7.4; +pragma solidity ^0.8.0; import "@0xsequence/erc-1155/contracts/interfaces/IERC1155.sol"; @@ -86,4 +86,4 @@ interface IERC20Wrapper is IERC1155 { * @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` */ function onERC1155BatchReceived(address _operator, address payable _from, uint256[] calldata _ids, uint256[] calldata _values, bytes calldata _data) external returns(bytes4); -} \ No newline at end of file +} diff --git a/src/contracts/mocks/ERC20Mock.sol b/src/contracts/mocks/ERC20Mock.sol index da40f7f..01c535c 100644 --- a/src/contracts/mocks/ERC20Mock.sol +++ b/src/contracts/mocks/ERC20Mock.sol @@ -1,8 +1,6 @@ -pragma solidity 0.7.4; +pragma solidity ^0.8.0; import "@0xsequence/erc-1155/contracts/interfaces/IERC20.sol"; -import "@0xsequence/erc-1155/contracts/utils/SafeMath.sol"; - /** * @title Standard ERC20 token @@ -17,8 +15,6 @@ import "@0xsequence/erc-1155/contracts/utils/SafeMath.sol"; * compliant implementations may not do it. */ contract ERC20 is IERC20 { - using SafeMath for uint256; - mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowed; @@ -85,7 +81,7 @@ contract ERC20 is IERC20 { */ function transferFrom(address from, address to, uint256 value) public override returns (bool) { _transfer(from, to, value); - _approve(from, msg.sender, _allowed[from][msg.sender].sub(value)); + _approve(from, msg.sender, _allowed[from][msg.sender] - value); return true; } @@ -100,7 +96,7 @@ contract ERC20 is IERC20 { * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { - _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue)); + _approve(msg.sender, spender, _allowed[msg.sender][spender] + addedValue); return true; } @@ -115,7 +111,7 @@ contract ERC20 is IERC20 { * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { - _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue)); + _approve(msg.sender, spender, _allowed[msg.sender][spender] - subtractedValue); return true; } @@ -128,8 +124,8 @@ contract ERC20 is IERC20 { function _transfer(address from, address to, uint256 value) internal { require(to != address(0)); - _balances[from] = _balances[from].sub(value); - _balances[to] = _balances[to].add(value); + _balances[from] -= value; + _balances[to] += value; emit Transfer(from, to, value); } @@ -143,8 +139,8 @@ contract ERC20 is IERC20 { function _mint(address account, uint256 value) internal { require(account != address(0)); - _totalSupply = _totalSupply.add(value); - _balances[account] = _balances[account].add(value); + _totalSupply += value; + _balances[account] += value; emit Transfer(address(0), account, value); } @@ -157,8 +153,8 @@ contract ERC20 is IERC20 { function _burn(address account, uint256 value) internal { require(account != address(0)); - _totalSupply = _totalSupply.sub(value); - _balances[account] = _balances[account].sub(value); + _totalSupply -= value; + _balances[account] -= value; emit Transfer(account, address(0), value); } @@ -186,7 +182,7 @@ contract ERC20 is IERC20 { */ function _burnFrom(address account, uint256 value) internal { _burn(account, value); - _approve(account, msg.sender, _allowed[account][msg.sender].sub(value)); + _approve(account, msg.sender, _allowed[account][msg.sender] - value); } } diff --git a/src/contracts/wrapper/ERC20Wrapper.sol b/src/contracts/wrapper/ERC20Wrapper.sol index 26e1584..63092eb 100644 --- a/src/contracts/wrapper/ERC20Wrapper.sol +++ b/src/contracts/wrapper/ERC20Wrapper.sol @@ -1,4 +1,4 @@ -pragma solidity 0.7.4; +pragma solidity ^0.8.0; pragma experimental ABIEncoderV2; import "@0xsequence/erc-1155/contracts/interfaces/IERC20.sol"; @@ -281,4 +281,4 @@ contract ERC20Wrapper is ERC1155, ERC1155MintBurn { interfaceID == type(IERC1155TokenReceiver).interfaceId; } -} \ No newline at end of file +} diff --git a/src/contracts/wrapper/MetaERC20Wrapper.sol b/src/contracts/wrapper/MetaERC20Wrapper.sol index 37d7164..59aa80f 100644 --- a/src/contracts/wrapper/MetaERC20Wrapper.sol +++ b/src/contracts/wrapper/MetaERC20Wrapper.sol @@ -1,4 +1,4 @@ -pragma solidity 0.7.4; +pragma solidity ^0.8.0; pragma experimental ABIEncoderV2; import "@0xsequence/erc-1155/contracts/interfaces/IERC20.sol"; @@ -282,4 +282,4 @@ contract MetaERC20Wrapper is ERC1155Meta, ERC1155MintBurn { interfaceID == type(IERC1155TokenReceiver).interfaceId; } -} \ No newline at end of file +} diff --git a/src/package.json b/src/package.json index fcfdac7..af62264 100644 --- a/src/package.json +++ b/src/package.json @@ -19,7 +19,7 @@ "ethers": "^5.0.32" }, "dependencies": { - "@0xsequence/erc-1155": "^3.1.0" + "@0xsequence/erc-1155": "^4.0.0" }, "devDependencies": {} } diff --git a/tests/ERC20Wrapper.spec.ts b/tests/ERC20Wrapper.spec.ts index 0cbaaec..0ebce7e 100644 --- a/tests/ERC20Wrapper.spec.ts +++ b/tests/ERC20Wrapper.spec.ts @@ -1,4 +1,4 @@ -import { AbstractContract, RevertError, expect } from './utils' +import { AbstractContract, RevertError, expect, RevertUnsafeMathError } from './utils' import * as utils from './utils' import { @@ -353,7 +353,7 @@ describe('ERC20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { const tx = userErc20WrapperContract.functions.withdraw(tokenAddress, userAddress, depositAmount.add(1), txParam) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should REVERT if token is not registered', async () => { @@ -413,7 +413,7 @@ describe('ERC20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { const tx = userErc20WrapperContract.functions.withdraw(ETH_ADDRESS, userAddress, depositAmount.add(1), txParam) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should REVERT if recipient is 0x0', async () => { @@ -473,7 +473,7 @@ describe('ERC20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { const tx = userErc20WrapperContract.functions.safeTransferFrom(userAddress, wrapperAddress, tokenID, depositAmount.add(1), data) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should REVERT if token is not registered', async () => { @@ -526,7 +526,7 @@ describe('ERC20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { //@ts-ignore const tx = userErc20WrapperContract.functions.safeTransferFrom(userAddress, wrapperAddress, ONE_ID, depositAmount.add(1), data) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should PASS if user has sufficient wrapped tokens', async () => { @@ -595,7 +595,7 @@ describe('ERC20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { //@ts-ignore const tx = userErc20WrapperContract.functions.safeBatchTransferFrom(userAddress, wrapperAddress, tokenIDs, depositAmounts.map(val => val.add(1)), data) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should PASS if user has sufficient wrapped tokens', async () => { diff --git a/tests/MetaERC20Wrapper.spec.ts b/tests/MetaERC20Wrapper.spec.ts index 30eadfe..f47ac77 100644 --- a/tests/MetaERC20Wrapper.spec.ts +++ b/tests/MetaERC20Wrapper.spec.ts @@ -1,4 +1,4 @@ -import { AbstractContract, RevertError, expect } from './utils' +import { AbstractContract, RevertError, expect, RevertUnsafeMathError } from './utils' import * as utils from './utils' import { @@ -353,7 +353,7 @@ describe('MetaErc20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { const tx = userMetaErc20WrapperContract.functions.withdraw(tokenAddress, userAddress, depositAmount.add(1), txParam) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should REVERT if token is not registered', async () => { @@ -413,7 +413,7 @@ describe('MetaErc20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { const tx = userMetaErc20WrapperContract.functions.withdraw(ETH_ADDRESS, userAddress, depositAmount.add(1), txParam) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should REVERT if recipient is 0x0', async () => { @@ -473,7 +473,7 @@ describe('MetaErc20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { const tx = userMetaErc20WrapperContract.functions.safeTransferFrom(userAddress, wrapperAddress, tokenID, depositAmount.add(1), data) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should REVERT if token is not registered', async () => { @@ -526,7 +526,7 @@ describe('MetaErc20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { //@ts-ignore const tx = userMetaErc20WrapperContract.functions.safeTransferFrom(userAddress, wrapperAddress, ONE_ID, depositAmount.add(1), data) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should PASS if user has sufficient wrapped tokens', async () => { @@ -595,7 +595,7 @@ describe('MetaErc20Wrapper', () => { it('should REVERT if user does not have sufficient wrapped tokens', async () => { //@ts-ignore const tx = userMetaErc20WrapperContract.functions.safeBatchTransferFrom(userAddress, wrapperAddress, tokenIDs, depositAmounts.map(val => val.add(1)), data) - await expect(tx).to.be.rejectedWith( RevertError("SafeMath#sub: UNDERFLOW") ) + await expect(tx).to.be.rejectedWith( RevertUnsafeMathError() ) }) it('should PASS if user has sufficient wrapped tokens', async () => { diff --git a/tests/utils/helpers.ts b/tests/utils/helpers.ts index e388929..10d0c85 100644 --- a/tests/utils/helpers.ts +++ b/tests/utils/helpers.ts @@ -15,8 +15,15 @@ export const createTestWallet = (web3: any, addressIndex: number = 0) => { // Check if tx was Reverted with specified message export function RevertError(errorMessage?: string) { - let prefix = 'VM Exception while processing transaction: revert' - return errorMessage ? RegExp(`^${prefix + ' ' + errorMessage}$`) : RegExp(`^${prefix}$`) + if (!errorMessage) { + return /Transaction reverted and Hardhat couldn't infer the reason/ + } else { + return new RegExp(`VM Exception while processing transaction: reverted with reason string ["']${errorMessage}["']`) + } +} + +export function RevertUnsafeMathError() { + return /Arithmetic operation .*flowed/ } diff --git a/yarn.lock b/yarn.lock index 5b1429a..cf03801 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,14 @@ # yarn lockfile v1 -"@0xsequence/erc-1155@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@0xsequence/erc-1155/-/erc-1155-3.1.0.tgz#0e3b4ccf23afee38db490c9084fa248461ebfea7" - integrity sha512-nJqCN0MY+hboHF74p5RXv4MR702beMDv2Wh69I8yjvUXk8XUlgy7qyKVnXUSlWIUNIGYL05yASpIeKmMNs2Z6A== +"@0xsequence/erc-1155@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@0xsequence/erc-1155/-/erc-1155-4.0.0.tgz#187d13ce84c95b4348fde09535cd83b0151c42e4" + integrity sha512-N0lR3qnryAMEWeiIvfI413LZYSdFwkZ+AxBgch23DwFdo7ugr2n5g/SsmhPsMoray3Syf78MCRKNDMuDU7t26Q== + optionalDependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/providers" "^5.7.2" + ethers "^5.7.2" "@babel/code-frame@7.12.11": version "7.12.11" @@ -80,6 +84,21 @@ "@ethersproject/properties" "^5.0.7" "@ethersproject/strings" "^5.0.8" +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/abi@^5.0.0-beta.146": version "5.0.8" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.8.tgz#b79e8b90932f0ce4b5796f21ec854e4fac4e6f7a" @@ -108,6 +127,19 @@ "@ethersproject/transactions" "^5.0.9" "@ethersproject/web" "^5.0.12" +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + "@ethersproject/abstract-provider@^5.0.4": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.6.tgz#fd379b4c2dbb316841dd4f581a73b95d7f399a13" @@ -132,6 +164,17 @@ "@ethersproject/logger" "^5.0.8" "@ethersproject/properties" "^5.0.7" +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/abstract-signer@^5.0.6": version "5.0.8" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.8.tgz#16d8107ea718ad7a9b5925bd870aa40c05fbfba3" @@ -154,6 +197,17 @@ "@ethersproject/logger" "^5.0.8" "@ethersproject/rlp" "^5.0.7" +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.5": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.7.tgz#ee7fd7d3b3a400dec6035c7b3f0b7e4652207308" @@ -172,6 +226,13 @@ dependencies: "@ethersproject/bytes" "^5.0.9" +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/base64@^5.0.3": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.5.tgz#1c4873b075e40154c319ee0414aab105415e4072" @@ -187,6 +248,14 @@ "@ethersproject/bytes" "^5.0.9" "@ethersproject/properties" "^5.0.7" +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" + integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/bignumber@5.0.15", "@ethersproject/bignumber@^5.0.13": version "5.0.15" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.15.tgz#b089b3f1e0381338d764ac1c10512f0c93b184ed" @@ -196,6 +265,15 @@ "@ethersproject/logger" "^5.0.8" bn.js "^4.4.0" +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.10", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.0.8": version "5.0.10" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.10.tgz#aee93d18f13b4976aba399888812804419ba2d5f" @@ -212,6 +290,13 @@ dependencies: "@ethersproject/logger" "^5.0.8" +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.4": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.6.tgz#848f8c10d78213eb743831fba0704154d3f39d13" @@ -226,6 +311,13 @@ dependencies: "@ethersproject/bignumber" "^5.0.13" +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.4": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.6.tgz#bc8ca82d2c0eb1869e5cce4fee473e9a9a0e858c" @@ -248,6 +340,22 @@ "@ethersproject/logger" "^5.0.8" "@ethersproject/properties" "^5.0.7" +"@ethersproject/contracts@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" + integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/hash@5.0.12", "@ethersproject/hash@^5.0.10": version "5.0.12" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.12.tgz#1074599f7509e2ca2bb7a3d4f4e39ab3a796da42" @@ -262,6 +370,21 @@ "@ethersproject/properties" "^5.0.7" "@ethersproject/strings" "^5.0.8" +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.4": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.7.tgz#e4ede972575d9aadffeab15070e9ffdf2f72d7e5" @@ -294,6 +417,24 @@ "@ethersproject/transactions" "^5.0.9" "@ethersproject/wordlists" "^5.0.8" +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" + integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + "@ethersproject/json-wallets@5.0.12", "@ethersproject/json-wallets@^5.0.10": version "5.0.12" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.0.12.tgz#8946a0fcce1634b636313a50330b7d30a24996e8" @@ -313,6 +454,25 @@ aes-js "3.0.0" scrypt-js "3.0.1" +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" + integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + "@ethersproject/keccak256@5.0.9", "@ethersproject/keccak256@^5.0.7": version "5.0.9" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.9.tgz#ca0d86e4af56c13b1ef25e533bde3e96d28f647d" @@ -321,6 +481,14 @@ "@ethersproject/bytes" "^5.0.9" js-sha3 "0.5.7" +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.3": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.5.tgz#414752fbdf9a2baa2634f4ed22f555bf5acbf536" @@ -334,6 +502,11 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.10.tgz#fd884688b3143253e0356ef92d5f22d109d2e026" integrity sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw== +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.5": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.7.tgz#35c226ec6702ff1d6c4dcedd5121e54665f56e44" @@ -346,6 +519,13 @@ dependencies: "@ethersproject/logger" "^5.0.8" +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks@^5.0.3": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.5.tgz#bd33013bc62b48bb4b8ce45ad3b05a602cb7eba2" @@ -361,6 +541,14 @@ "@ethersproject/bytes" "^5.0.9" "@ethersproject/sha2" "^5.0.7" +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" + integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/properties@5.0.9", "@ethersproject/properties@^5.0.7": version "5.0.9" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.9.tgz#d7aae634680760136ea522e25c3ef043ec15b5c2" @@ -368,6 +556,13 @@ dependencies: "@ethersproject/logger" "^5.0.8" +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.4": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.5.tgz#fb28b8dab39e876b9ca49b9b46b9f7bd95e2e469" @@ -400,6 +595,32 @@ bech32 "1.1.4" ws "7.2.3" +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + "@ethersproject/random@5.0.9", "@ethersproject/random@^5.0.7": version "5.0.9" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.0.9.tgz#1903d4436ba66e4c8ac77968b16f756abea3a0d0" @@ -408,6 +629,14 @@ "@ethersproject/bytes" "^5.0.9" "@ethersproject/logger" "^5.0.8" +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" + integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp@5.0.9", "@ethersproject/rlp@^5.0.7": version "5.0.9" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.9.tgz#da205bf8a34d3c3409eb73ddd237130a4b376aff" @@ -416,6 +645,14 @@ "@ethersproject/bytes" "^5.0.9" "@ethersproject/logger" "^5.0.8" +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp@^5.0.3": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.5.tgz#9670e0ad0cba701593e3b0b2ab5e7404486979fa" @@ -433,6 +670,15 @@ "@ethersproject/logger" "^5.0.8" hash.js "1.1.3" +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" + integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + hash.js "1.1.7" + "@ethersproject/signing-key@5.0.11", "@ethersproject/signing-key@^5.0.8": version "5.0.11" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.11.tgz#19fc5c4597e18ad0a5efc6417ba5b74069fdd2af" @@ -443,6 +689,18 @@ "@ethersproject/properties" "^5.0.7" elliptic "6.5.4" +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + "@ethersproject/signing-key@^5.0.4": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.6.tgz#78550155cf84fa78bde2ac1f723182f80c4c8cb3" @@ -464,6 +722,18 @@ "@ethersproject/sha2" "^5.0.7" "@ethersproject/strings" "^5.0.8" +"@ethersproject/solidity@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" + integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/strings@5.0.10", "@ethersproject/strings@^5.0.8": version "5.0.10" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.10.tgz#ddce1e9724f4ac4f3f67e0cac0b48748e964bfdb" @@ -473,6 +743,15 @@ "@ethersproject/constants" "^5.0.8" "@ethersproject/logger" "^5.0.8" +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.4": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.6.tgz#722295012a052d68a42418404213b190a34c453b" @@ -497,6 +776,21 @@ "@ethersproject/rlp" "^5.0.7" "@ethersproject/signing-key" "^5.0.8" +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.5": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.7.tgz#76260ab2df7de406371963ab7df1d50d1ca9139e" @@ -521,6 +815,15 @@ "@ethersproject/constants" "^5.0.8" "@ethersproject/logger" "^5.0.8" +"@ethersproject/units@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" + integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/wallet@5.0.12": version "5.0.12" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.0.12.tgz#bfb96f95e066b4b1b4591c4615207b87afedda8b" @@ -542,6 +845,27 @@ "@ethersproject/transactions" "^5.0.9" "@ethersproject/wordlists" "^5.0.8" +"@ethersproject/wallet@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" + integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/json-wallets" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + "@ethersproject/web@5.0.14", "@ethersproject/web@^5.0.12": version "5.0.14" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.14.tgz#6e7bebdd9fb967cb25ee60f44d9218dc0803bac4" @@ -553,6 +877,17 @@ "@ethersproject/properties" "^5.0.7" "@ethersproject/strings" "^5.0.8" +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/web@^5.0.6": version "5.0.10" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.10.tgz#ed4dc04ad9e81a68d44fc67afb38f1ed0578a647" @@ -575,6 +910,38 @@ "@ethersproject/properties" "^5.0.7" "@ethersproject/strings" "^5.0.8" +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" + integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@metamask/eth-sig-util@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" + integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== + dependencies: + ethereumjs-abi "^0.6.8" + ethereumjs-util "^6.2.1" + ethjs-util "^0.1.6" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== + +"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -596,26 +963,203 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@nomiclabs/ethereumjs-vm@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz#2f8817113ca0fb6c44c1b870d0a809f0e026a6cc" - integrity sha512-8WmX94mMcJaZ7/m7yBbyuS6B+wuOul+eF+RY9fBpGhNaUpyMR/vFIcDojqcWQ4Yafe1tMKY5LDu2yfT4NZgV4Q== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - core-js-pure "^3.0.1" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.2" - ethereumjs-blockchain "^4.0.3" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.2" - ethereumjs-util "^6.2.0" - fake-merkle-patricia-tree "^1.0.1" +"@nomicfoundation/ethereumjs-block@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz#fdd5c045e7baa5169abeed0e1202bf94e4481c49" + integrity sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA== + dependencies: + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-trie" "^5.0.0" + "@nomicfoundation/ethereumjs-tx" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + ethereum-cryptography "0.1.3" + +"@nomicfoundation/ethereumjs-blockchain@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz#1a8c243a46d4d3691631f139bfb3a4a157187b0c" + integrity sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw== + dependencies: + "@nomicfoundation/ethereumjs-block" "^4.0.0" + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-ethash" "^2.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-trie" "^5.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + abstract-level "^1.0.3" + debug "^4.3.3" + ethereum-cryptography "0.1.3" + level "^8.0.0" + lru-cache "^5.1.1" + memory-level "^1.0.0" + +"@nomicfoundation/ethereumjs-common@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz#f6bcc7753994555e49ab3aa517fc8bcf89c280b9" + integrity sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA== + dependencies: + "@nomicfoundation/ethereumjs-util" "^8.0.0" + crc-32 "^1.2.0" + +"@nomicfoundation/ethereumjs-ethash@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz#11539c32fe0990e1122ff987d1b84cfa34774e81" + integrity sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew== + dependencies: + "@nomicfoundation/ethereumjs-block" "^4.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + abstract-level "^1.0.3" + bigint-crypto-utils "^3.0.23" + ethereum-cryptography "0.1.3" + +"@nomicfoundation/ethereumjs-evm@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz#99cd173c03b59107c156a69c5e215409098a370b" + integrity sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q== + dependencies: + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@types/async-eventemitter" "^0.2.1" + async-eventemitter "^0.2.4" + debug "^4.3.3" + ethereum-cryptography "0.1.3" + mcl-wasm "^0.7.1" + rustbn.js "~0.2.0" + +"@nomicfoundation/ethereumjs-rlp@^4.0.0", "@nomicfoundation/ethereumjs-rlp@^4.0.0-beta.2": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz#d9a9c5f0f10310c8849b6525101de455a53e771d" + integrity sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw== + +"@nomicfoundation/ethereumjs-statemanager@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz#14a9d4e1c828230368f7ab520c144c34d8721e4b" + integrity sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ== + dependencies: + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-trie" "^5.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + debug "^4.3.3" + ethereum-cryptography "0.1.3" functional-red-black-tree "^1.0.1" - merkle-patricia-tree "3.0.0" + +"@nomicfoundation/ethereumjs-trie@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz#dcfbe3be53a94bc061c9767a396c16702bc2f5b7" + integrity sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A== + dependencies: + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + ethereum-cryptography "0.1.3" + readable-stream "^3.6.0" + +"@nomicfoundation/ethereumjs-tx@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz#59dc7452b0862b30342966f7052ab9a1f7802f52" + integrity sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w== + dependencies: + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + ethereum-cryptography "0.1.3" + +"@nomicfoundation/ethereumjs-util@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz#deb2b15d2c308a731e82977aefc4e61ca0ece6c5" + integrity sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A== + dependencies: + "@nomicfoundation/ethereumjs-rlp" "^4.0.0-beta.2" + ethereum-cryptography "0.1.3" + +"@nomicfoundation/ethereumjs-vm@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz#2bb50d332bf41790b01a3767ffec3987585d1de6" + integrity sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w== + dependencies: + "@nomicfoundation/ethereumjs-block" "^4.0.0" + "@nomicfoundation/ethereumjs-blockchain" "^6.0.0" + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-evm" "^1.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-statemanager" "^1.0.0" + "@nomicfoundation/ethereumjs-trie" "^5.0.0" + "@nomicfoundation/ethereumjs-tx" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@types/async-eventemitter" "^0.2.1" + async-eventemitter "^0.2.4" + debug "^4.3.3" + ethereum-cryptography "0.1.3" + functional-red-black-tree "^1.0.1" + mcl-wasm "^0.7.1" rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - util.promisify "^1.0.0" + +"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz#4c858096b1c17fe58a474fe81b46815f93645c15" + integrity sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w== + +"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz#6e25ccdf6e2d22389c35553b64fe6f3fdaec432c" + integrity sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA== + +"@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz#0a224ea50317139caeebcdedd435c28a039d169c" + integrity sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA== + +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz#dfa085d9ffab9efb2e7b383aed3f557f7687ac2b" + integrity sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg== + +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz#c9e06b5d513dd3ab02a7ac069c160051675889a4" + integrity sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w== + +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz#8d328d16839e52571f72f2998c81e46bf320f893" + integrity sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA== + +"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz#9b49d0634b5976bb5ed1604a1e1b736f390959bb" + integrity sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w== + +"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz#e2867af7264ebbcc3131ef837878955dd6a3676f" + integrity sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg== + +"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz#0685f78608dd516c8cdfb4896ed451317e559585" + integrity sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ== + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz#c9a44f7108646f083b82e851486e0f6aeb785836" + integrity sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw== + +"@nomicfoundation/solidity-analyzer@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz#f5f4d36d3f66752f59a57e7208cd856f3ddf6f2d" + integrity sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg== + optionalDependencies: + "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.1" + "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.1" + "@nomicfoundation/solidity-analyzer-freebsd-x64" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.1" + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc" "0.1.1" + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1" "@nomiclabs/hardhat-ethers@^2.0.2": version "2.0.2" @@ -655,6 +1199,28 @@ ethers "^4.0.0-beta.1" source-map-support "^0.5.19" +"@scure/base@~1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== + +"@scure/bip32@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" + integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== + dependencies: + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== + dependencies: + "@noble/hashes" "~1.2.0" + "@scure/base" "~1.1.0" + "@sentry/core@5.27.4": version "5.27.4" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.27.4.tgz#4155ee09ee4deed7364918094bf81654dcf681c0" @@ -728,11 +1294,6 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@solidity-parser/parser@^0.11.0": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.11.1.tgz#fa840af64840c930f24a9c82c08d4a092a068add" - integrity sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ== - "@solidity-parser/parser@^0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.12.0.tgz#18a0fb2a9d2484b23176f63b16093c64794fc323" @@ -854,6 +1415,11 @@ resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-6.0.3.tgz#7111864ccdb2f3b1efd27283cc2f14999b05e5f0" integrity sha512-Ut2arLNddngPTPboSP8EYiPRGWOTCLY3Iu0BU9CAXVEsABdx+n0XE5q+0YaGkq+0zus2D++WIz0U7Z0wHT6kTA== +"@types/async-eventemitter@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz#f8e6280e87e8c60b2b938624b0a3530fb3e24712" + integrity sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg== + "@types/bignumber.js@^5.0.0": version "5.0.0" resolved "https://registry.yarnpkg.com/@types/bignumber.js/-/bignumber.js-5.0.0.tgz#d9f1a378509f3010a3255e9cc822ad0eeb4ab969" @@ -868,6 +1434,13 @@ dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + "@types/chai-as-promised@^7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz#779166b90fda611963a3adbfd00b339d03b747bd" @@ -1094,26 +1667,18 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" -abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz#f7128e1f86ccabf7d2893077ce5d06d798e386c6" - integrity sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== +abstract-level@^1.0.0, abstract-level@^1.0.2, abstract-level@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/abstract-level/-/abstract-level-1.0.3.tgz#78a67d3d84da55ee15201486ab44c09560070741" + integrity sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA== dependencies: - xtend "~4.0.0" + buffer "^6.0.3" + catering "^2.1.0" + is-buffer "^2.0.5" + level-supports "^4.0.0" + level-transcoder "^1.0.1" + module-error "^1.0.1" + queue-microtask "^1.2.3" accepts@~1.3.7: version "1.3.7" @@ -1160,6 +1725,14 @@ agent-base@6: dependencies: debug "4" +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.6.1, ajv@^6.9.1: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -1190,7 +1763,7 @@ ansi-colors@3.2.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== -ansi-colors@^4.1.1: +ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== @@ -1260,6 +1833,14 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1272,6 +1853,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + array-back@^1.0.3, array-back@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" @@ -1368,7 +1954,7 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-eventemitter@^0.2.2: +async-eventemitter@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== @@ -1380,12 +1966,12 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@1.x, async@^1.4.2: +async@1.x: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.6.1: +async@^2.4.0: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -1453,6 +2039,18 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bigint-crypto-utils@^3.0.23: + version "3.1.8" + resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz#e2e0f40cf45488f9d7f0e32ff84152aa73819d5d" + integrity sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw== + dependencies: + bigint-mod-arith "^3.1.0" + +bigint-mod-arith@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz#658e416bc593a463d97b59766226d0a3021a76b1" + integrity sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ== + bignumber.js@*, bignumber.js@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" @@ -1502,16 +2100,21 @@ bn.js@4.11.8: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0, bn.js@^4.8.0: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0: version "4.11.9" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2: +bn.js@^5.0.0, bn.js@^5.1.1: version "5.1.3" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + body-parser@1.19.0, body-parser@^1.16.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" @@ -1554,6 +2157,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -1566,6 +2176,16 @@ brorand@^1.0.1, brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= +browser-level@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browser-level/-/browser-level-1.0.1.tgz#36e8c3183d0fe1c405239792faaab5f315871011" + integrity sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ== + dependencies: + abstract-level "^1.0.2" + catering "^2.1.1" + module-error "^1.0.2" + run-parallel-limit "^1.1.0" + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -1656,14 +2276,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer-xor@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289" - integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ== - dependencies: - safe-buffer "^5.1.1" - -buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -1671,6 +2284,14 @@ buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + bufferutil@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.2.tgz#79f68631910f6b993d870fc77dc0a2894eb96cd5" @@ -1678,6 +2299,13 @@ bufferutil@^4.0.1: dependencies: node-gyp-build "^4.2.0" +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + bytes@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" @@ -1746,11 +2374,21 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + caseless@^0.12.0, caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +catering@^2.1.0, catering@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" + integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== + chai-as-promised@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" @@ -1824,13 +2462,6 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= -checkpoint-store@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" - integrity sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY= - dependencies: - functional-red-black-tree "^1.0.1" - cheerio@^1.0.0-rc.2: version "1.0.0-rc.3" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" @@ -1858,6 +2489,21 @@ chokidar@3.3.0: optionalDependencies: fsevents "~2.1.1" +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chokidar@^3.4.0: version "3.4.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" @@ -1907,6 +2553,22 @@ class-is@^1.1.0: resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== +classic-level@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.2.0.tgz#2d52bdec8e7a27f534e67fdeb890abef3e643c27" + integrity sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg== + dependencies: + abstract-level "^1.0.2" + catering "^2.1.0" + module-error "^1.0.1" + napi-macros "~2.0.0" + node-gyp-build "^4.3.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -2095,11 +2757,6 @@ cookiejar@^2.1.1: resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== -core-js-pure@^3.0.1: - version "3.7.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.7.0.tgz#28a57c861d5698e053f0ff36905f7a3301b4191e" - integrity sha512-EZD2ckZysv8MMt4J6HSvS9K2GdtlZtdBncKAmF9lr2n0c9dJUaUN88PSTjvgwCgQPWKTkERXITgS6JJRAnljtg== - core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2123,6 +2780,11 @@ cosmiconfig@^5.0.7: js-yaml "^3.13.1" parse-json "^4.0.0" +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -2267,11 +2929,23 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" +debug@4.3.4, debug@^4.3.3: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -2301,21 +2975,6 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -deferred-leveldown@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz#0b0570087827bf480a23494b398f04c128c19a20" - integrity sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww== - dependencies: - abstract-leveldown "~5.0.0" - inherits "^2.0.3" - define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2369,6 +3028,11 @@ diff@3.5.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -2532,17 +3196,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding-down@~5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-5.0.4.tgz#1e477da8e9e9d0f7c8293d320044f8b2cd8e9614" - integrity sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw== - dependencies: - abstract-leveldown "^5.0.0" - inherits "^2.0.3" - level-codec "^9.0.0" - level-errors "^2.0.0" - xtend "^4.0.1" - end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -2572,13 +3225,6 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== -errno@~0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -2586,7 +3232,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: +es-abstract@^1.17.0-next.1: version "1.17.7" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== @@ -2693,6 +3339,11 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@1.8.x: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" @@ -3003,28 +3654,6 @@ eth-lib@^0.1.26: ws "^3.0.0" xhr-request-promise "^0.1.2" -eth-sig-util@^2.5.2: - version "2.5.3" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.5.3.tgz#6938308b38226e0b3085435474900b03036abcbe" - integrity sha512-KpXbCKmmBUNUTGh9MRKmNkIPietfhzBqqYqysDavLseIiMUGl95k6UcPEkALAZlj41e9E6yioYXc1PC333RKqw== - dependencies: - buffer "^5.2.1" - elliptic "^6.4.0" - ethereumjs-abi "0.6.5" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.0" - tweetnacl-util "^0.15.0" - -ethashjs@~0.0.7: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ethashjs/-/ethashjs-0.0.8.tgz#227442f1bdee409a548fb04136e24c874f3aa6f9" - integrity sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw== - dependencies: - async "^2.1.2" - buffer-xor "^2.0.1" - ethereumjs-util "^7.0.2" - miller-rabin "^4.0.0" - ethereum-bloom-filters@^1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz#b7b80735e385dbb7f944ce6b4533e24511306060" @@ -3032,7 +3661,7 @@ ethereum-bloom-filters@^1.0.6: dependencies: js-sha3 "^0.8.0" -ethereum-cryptography@^0.1.2, ethereum-cryptography@^0.1.3: +ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== @@ -3053,6 +3682,16 @@ ethereum-cryptography@^0.1.2, ethereum-cryptography@^0.1.3: secp256k1 "^4.0.1" setimmediate "^1.0.5" +ethereum-cryptography@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" + integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== + dependencies: + "@noble/hashes" "1.2.0" + "@noble/secp256k1" "1.7.1" + "@scure/bip32" "1.1.5" + "@scure/bip39" "1.1.1" + ethereum-ens@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/ethereum-ens/-/ethereum-ens-0.8.0.tgz#6d0f79acaa61fdbc87d2821779c4e550243d4c57" @@ -3065,14 +3704,6 @@ ethereum-ens@^0.8.0: underscore "^1.8.3" web3 "^1.0.0-beta.34" -ethereumjs-abi@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" - integrity sha1-WmN+8Wq0NHP6cqKa2QhxQFs/UkE= - dependencies: - bn.js "^4.10.0" - ethereumjs-util "^4.3.0" - ethereumjs-abi@^0.6.8: version "0.6.8" resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" @@ -3081,48 +3712,12 @@ ethereumjs-abi@^0.6.8: bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-account@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" - integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== - dependencies: - ethereumjs-util "^6.0.0" - rlp "^2.2.1" - safe-buffer "^5.1.1" - -ethereumjs-block@^2.2.2, ethereumjs-block@~2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" - integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.1" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-blockchain@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz#30f2228dc35f6dcf94423692a6902604ae34960f" - integrity sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ== - dependencies: - async "^2.6.1" - ethashjs "~0.0.7" - ethereumjs-block "~2.2.2" - ethereumjs-common "^1.5.0" - ethereumjs-util "^6.1.0" - flow-stoplight "^1.0.0" - level-mem "^3.0.1" - lru-cache "^5.1.1" - rlp "^2.2.2" - semaphore "^1.1.0" - ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA== -ethereumjs-tx@^2.1.1, ethereumjs-tx@^2.1.2: +ethereumjs-tx@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== @@ -3143,7 +3738,7 @@ ethereumjs-util@6.2.0: rlp "^2.2.3" secp256k1 "^3.0.1" -ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumjs-util@^6.2.0: +ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumjs-util@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== @@ -3156,42 +3751,6 @@ ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumj ethjs-util "0.1.6" rlp "^2.2.3" -ethereumjs-util@^4.3.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.1.tgz#f4bf9b3b515a484e3cc8781d61d9d980f7c83bd0" - integrity sha512-WrckOZ7uBnei4+AKimpuF1B3Fv25OmoRgmYCpGsP7u8PFxXAmAgiJSYT2kRWnt6fVIlKaQlZvuwXp7PIrmn3/w== - dependencies: - bn.js "^4.8.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - rlp "^2.0.0" - -ethereumjs-util@^5.0.0, ethereumjs-util@^5.1.1, ethereumjs-util@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" - integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "^0.1.3" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-util@^7.0.2: - version "7.0.7" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.7.tgz#484fb9c03b766b2ee64821281070616562fb5a59" - integrity sha512-vU5rtZBlZsgkTw3o6PDKyB8li2EgLavnAbsKcfsH2YhHH1Le+PP8vEiMnAnvgc1B6uMoaM5GDCrVztBw0Q5K9g== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - ethers@^4.0.0-beta.1, ethers@^4.0.32, ethers@^4.0.40: version "4.0.48" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe" @@ -3243,6 +3802,42 @@ ethers@^5.0.32: "@ethersproject/web" "5.0.14" "@ethersproject/wordlists" "5.0.10" +ethers@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + ethjs-unit@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -3251,7 +3846,7 @@ ethjs-unit@0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -ethjs-util@0.1.6, ethjs-util@^0.1.3: +ethjs-util@0.1.6, ethjs-util@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== @@ -3367,13 +3962,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fake-merkle-patricia-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" - integrity sha1-S4w6z7Ugr635hgsfFM2M40As3dM= - dependencies: - checkpoint-store "^1.1.0" - fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3486,6 +4074,14 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -3517,6 +4113,11 @@ flat@^4.1.0: dependencies: is-buffer "~2.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" @@ -3527,11 +4128,6 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -flow-stoplight@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/flow-stoplight/-/flow-stoplight-1.0.0.tgz#4a292c5bcff8b39fa6cc0cb1a853d86f27eeff7b" - integrity sha1-SiksW8/4s5+mzAyxqFPYbyfu/3s= - follow-redirects@^1.10.0: version "1.13.3" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" @@ -3655,12 +4251,17 @@ fsevents@~2.1.1, fsevents@~2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: +functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= @@ -3750,7 +4351,7 @@ ghost-testrpc@^0.0.2: chalk "^2.4.2" node-emoji "^1.10.0" -glob-parent@^5.0.0: +glob-parent@^5.0.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -3776,6 +4377,18 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -3948,18 +4561,30 @@ hardhat-gas-reporter@^1.0.4: eth-gas-reporter "^0.2.20" sha1 "^1.1.1" -hardhat@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.1.1.tgz#bcfed980019672b57011845a1678f714728d6ee7" - integrity sha512-55XMqB5QoeRg3m56rBg0NQgU//GPqOC9t4RbRSU3pdBJGHGXFTUh8fjTPxnWJNu9r72Zju++syGcCkPGwftyvw== - dependencies: - "@nomiclabs/ethereumjs-vm" "4.2.2" +hardhat@2.12.2: + version "2.12.2" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.12.2.tgz#6ae985007b20c1f381c6573799d66c1438c4c802" + integrity sha512-f3ZhzXy1uyQv0UXnAQ8GCBOWjzv++WJNb7bnm10SsyC3dB7vlPpsMWBNhq7aoRxKrNhX9tCev81KFV3i5BTeMQ== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@metamask/eth-sig-util" "^4.0.0" + "@nomicfoundation/ethereumjs-block" "^4.0.0" + "@nomicfoundation/ethereumjs-blockchain" "^6.0.0" + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-evm" "^1.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-statemanager" "^1.0.0" + "@nomicfoundation/ethereumjs-trie" "^5.0.0" + "@nomicfoundation/ethereumjs-tx" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@nomicfoundation/ethereumjs-vm" "^6.0.0" + "@nomicfoundation/solidity-analyzer" "^0.1.0" "@sentry/node" "^5.18.1" - "@solidity-parser/parser" "^0.11.0" - "@types/bn.js" "^4.11.5" + "@types/bn.js" "^5.1.0" "@types/lru-cache" "^5.1.0" abort-controller "^3.0.0" adm-zip "^0.4.16" + aggregate-error "^3.0.0" ansi-escapes "^4.3.0" chalk "^2.4.2" chokidar "^3.4.0" @@ -3967,37 +4592,30 @@ hardhat@2.1.1: debug "^4.1.1" enquirer "^2.3.0" env-paths "^2.2.0" - eth-sig-util "^2.5.2" - ethereum-cryptography "^0.1.2" + ethereum-cryptography "^1.0.3" ethereumjs-abi "^0.6.8" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.2" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.2" - ethereumjs-util "^6.2.0" find-up "^2.1.0" fp-ts "1.19.3" fs-extra "^7.0.1" - glob "^7.1.3" + glob "7.2.0" immutable "^4.0.0-rc.12" io-ts "1.10.4" + keccak "^3.0.2" lodash "^4.17.11" - merkle-patricia-tree "3.0.0" mnemonist "^0.38.0" - mocha "^7.1.2" - node-fetch "^2.6.0" + mocha "^10.0.0" + p-map "^4.0.0" qs "^6.7.0" raw-body "^2.4.1" resolve "1.17.0" semver "^6.3.0" - slash "^3.0.0" solc "0.7.3" source-map-support "^0.5.13" stacktrace-parser "^0.1.10" - "true-case-path" "^2.2.1" tsort "0.0.1" - uuid "^3.3.2" - ws "^7.2.1" + undici "^5.4.0" + uuid "^8.3.2" + ws "^7.4.6" has-bigints@^1.0.0: version "1.0.1" @@ -4065,7 +4683,7 @@ hash.js@1.1.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -4194,7 +4812,7 @@ idna-uts46-hx@^2.3.1: dependencies: punycode "2.1.0" -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -4209,16 +4827,6 @@ ignore@^5.1.1, ignore@^5.1.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - -immediate@~3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" - integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= - immutable@^4.0.0-rc.12: version "4.0.0-rc.12" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217" @@ -4245,6 +4853,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -4253,7 +4866,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4333,7 +4946,7 @@ is-boolean-object@^1.1.0: dependencies: call-bind "^1.0.0" -is-buffer@~2.0.3: +is-buffer@^2.0.5, is-buffer@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== @@ -4434,6 +5047,11 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-regex@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" @@ -4476,10 +5094,10 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" @@ -4540,6 +5158,13 @@ js-yaml@3.x, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.14.0: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -4663,6 +5288,15 @@ keccak@^3.0.0: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +keccak@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" + integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -4689,113 +5323,26 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -level-codec@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc" - integrity sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ== - dependencies: - buffer "^5.6.0" - -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" - integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== - dependencies: - errno "~0.1.1" - -level-errors@^2.0.0, level-errors@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" - integrity sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw== - dependencies: - errno "~0.1.1" - -level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0= - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-iterator-stream@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz#2c98a4f8820d87cdacab3132506815419077c730" - integrity sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.3.6" - xtend "^4.0.0" - -level-mem@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-3.0.1.tgz#7ce8cf256eac40f716eb6489654726247f5a89e5" - integrity sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg== - dependencies: - level-packager "~4.0.0" - memdown "~3.0.0" - -level-packager@~4.0.0: +level-supports@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-4.0.1.tgz#7e7d3016af005be0869bc5fa8de93d2a7f56ffe6" - integrity sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q== - dependencies: - encoding-down "~5.0.0" - levelup "^3.0.0" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a" + integrity sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos= +level-transcoder@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-transcoder/-/level-transcoder-1.0.1.tgz#f8cef5990c4f1283d4c86d949e73631b0bc8ba9c" + integrity sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w== dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" + buffer "^6.0.3" + module-error "^1.0.1" -level-ws@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-1.0.0.tgz#19a22d2d4ac57b18cc7c6ecc4bd23d899d8f603b" - integrity sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q== - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.8" - xtend "^4.0.1" - -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - -levelup@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189" - integrity sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg== +level@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/level/-/level-8.0.0.tgz#41b4c515dabe28212a3e881b61c161ffead14394" + integrity sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ== dependencies: - deferred-leveldown "~4.0.0" - level-errors "~2.0.0" - level-iterator-stream "~3.0.0" - xtend "~4.0.0" + browser-level "^1.0.1" + classic-level "^1.2.0" levn@^0.3.0, levn@~0.3.0: version "0.3.0" @@ -4844,6 +5391,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -4891,6 +5445,14 @@ log-symbols@3.0.0: dependencies: chalk "^2.4.2" +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -4920,11 +5482,6 @@ lru_map@^0.3.3: resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= -ltgt@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= - make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -4942,6 +5499,11 @@ markdown-table@^1.1.3: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== +mcl-wasm@^0.7.1: + version "0.7.9" + resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.9.tgz#c1588ce90042a8700c3b60e40efb339fc07ab87f" + integrity sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -4965,29 +5527,14 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU= +memory-level@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/memory-level/-/memory-level-1.0.0.tgz#7323c3fd368f9af2f71c3cd76ba403a17ac41692" + integrity sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og== dependencies: - abstract-leveldown "~2.7.1" + abstract-level "^1.0.0" functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -memdown@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" - integrity sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA== - dependencies: - abstract-leveldown "~5.0.0" - functional-red-black-tree "~1.0.1" - immediate "~3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" + module-error "^1.0.1" memorystream@^0.3.1: version "0.3.1" @@ -5004,33 +5551,6 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -merkle-patricia-tree@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz#448d85415565df72febc33ca362b8b614f5a58f8" - integrity sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ== - dependencies: - async "^2.6.1" - ethereumjs-util "^5.2.0" - level-mem "^3.0.1" - level-ws "^1.0.0" - readable-stream "^3.0.6" - rlp "^2.0.0" - semaphore ">=1.0.1" - -merkle-patricia-tree@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -5113,6 +5633,13 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: dependencies: brace-expansion "^1.1.7" +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -5159,7 +5686,34 @@ mnemonist@^0.38.0: dependencies: obliterator "^1.6.1" -mocha@^7.1.1, mocha@^7.1.2: +mocha@^10.0.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +mocha@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== @@ -5194,6 +5748,11 @@ mock-fs@^4.1.0: resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.13.0.tgz#31c02263673ec3789f90eb7b6963676aa407a598" integrity sha512-DD0vOdofJdoaRNtnWcrXe6RQbpHkPPmtqGq14uRX0F8ZKJ5nv89CVTYl/BZdppDxBDaV0hl75htg3abpEWlPZA== +module-error@^1.0.1, module-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" + integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -5209,6 +5768,11 @@ ms@2.1.2, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" @@ -5264,6 +5828,16 @@ nano-json-stream-parser@^0.1.2: resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -5309,16 +5883,16 @@ node-environment-flags@1.0.6: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" -node-fetch@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - node-gyp-build@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== +node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + nopt@3.x: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -5393,11 +5967,6 @@ object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= - object.assign@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" @@ -5418,7 +5987,7 @@ object.assign@^4.1.1, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: +object.getownpropertydescriptors@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== @@ -5553,6 +6122,13 @@ p-limit@^2.0.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -5567,6 +6143,20 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + p-timeout@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" @@ -5659,6 +6249,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -5816,11 +6411,6 @@ proxy-addr@~2.0.5: forwarded "~0.1.2" ipaddr.js "1.9.1" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -5880,6 +6470,11 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +queue-microtask@^1.2.2, queue-microtask@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -5947,17 +6542,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^1.0.33: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.2.8, readable-stream@^2.3.6: +readable-stream@^2.2.2: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -5970,7 +6555,7 @@ readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.2.8, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5979,16 +6564,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@~1.0.15: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readdirp@~3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" @@ -6003,6 +6578,13 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -6185,7 +6767,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.2, rlp@^2.2.3, rlp@^2.2.4: +rlp@^2.2.3: version "2.2.6" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== @@ -6197,6 +6779,13 @@ run-async@^2.2.0: resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-parallel-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz#be80e936f5768623a38a963262d6bef8ff11e7ba" + integrity sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw== + dependencies: + queue-microtask "^1.2.2" + run-parallel@^1.1.9: version "1.1.10" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" @@ -6282,11 +6871,6 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" -semaphore@>=1.0.1, semaphore@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -6304,11 +6888,6 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: dependencies: lru-cache "^6.0.0" -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -6328,6 +6907,13 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + serve-static@1.14.1: version "1.14.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" @@ -6618,6 +7204,11 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -6688,11 +7279,6 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -6748,7 +7334,7 @@ strip-json-comments@2.0.1, strip-json-comments@^2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -6765,6 +7351,13 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" +supports-color@8.1.1, supports-color@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-color@^3.1.0: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" @@ -6786,13 +7379,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - swarm-js@^0.1.40: version "0.1.40" resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99" @@ -6936,11 +7522,6 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -"true-case-path@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" - integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== - ts-essentials@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-1.0.4.tgz#ce3b5dade5f5d97cf69889c11bf7d2da8555b15a" @@ -7012,7 +7593,7 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl-util@^0.15.0: +tweetnacl-util@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== @@ -7022,7 +7603,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -tweetnacl@^1.0.0: +tweetnacl@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== @@ -7154,6 +7735,13 @@ underscore@^1.8.3: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.11.0.tgz#dd7c23a195db34267186044649870ff1bab5929e" integrity sha512-xY96SsN3NA461qIRKZ/+qox37YXPtSBswMGfiNptr+wrt6ds4HaMw23TP612fEyGekRE6LNRiLYr/aqbHXNedw== +undici@^5.4.0: + version "5.21.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.21.0.tgz#b00dfc381f202565ab7f52023222ab862bb2494f" + integrity sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA== + dependencies: + busboy "^1.6.0" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -7217,16 +7805,6 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -7247,6 +7825,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" @@ -7816,6 +8399,11 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -7851,6 +8439,11 @@ ws@7.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + ws@^3.0.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -7860,10 +8453,10 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@^7.2.1: - version "7.4.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" - integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== +ws@^7.4.6: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== xhr-request-promise@^0.1.2: version "0.1.3" @@ -7907,18 +8500,11 @@ xmlhttprequest@1.8.0: resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0: +xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" - y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -7952,6 +8538,11 @@ yargs-parser@13.1.2, yargs-parser@^13.1.0, yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs-parser@^20.2.2: version "20.2.7" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" @@ -7966,6 +8557,16 @@ yargs-unparser@1.6.0: lodash "^4.17.15" yargs "^13.3.0" +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + yargs@13.2.4: version "13.2.4" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" @@ -7999,7 +8600,7 @@ yargs@13.3.2, yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^16.2.0: +yargs@16.2.0, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -8016,3 +8617,8 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 9b018d6499684a5eba203546fa826ae2763e19e1 Mon Sep 17 00:00:00 2001 From: Michael Standen Date: Wed, 15 Mar 2023 13:15:32 +1300 Subject: [PATCH 3/7] Update artifacts --- package.json | 12 +- .../tokens/ERC1155/ERC1155.sol/ERC1155.json | 4 +- .../ERC1155/ERC1155Meta.sol/ERC1155Meta.json | 4 +- .../ERC1155MintBurn.sol/ERC1155MintBurn.json | 4 +- .../contracts/utils/Address.sol/Address.json | 4 +- .../utils/LibBytes.sol/LibBytes.json | 4 +- .../utils/LibEIP712.sol/LibEIP712.json | 4 +- .../utils/SafeMath.sol/SafeMath.json | 10 - .../SignatureValidator.json | 4 +- .../contracts/mocks/ERC20Mock.sol/ERC20.json | 4 +- .../mocks/ERC20Mock.sol/ERC20Mock.json | 4 +- .../ERC20Wrapper.sol/ERC20Wrapper.json | 4 +- .../MetaERC20Wrapper.json | 4 +- src/gen/adapter/common.js | 2 + .../factories/ERC20Wrapper__factory.js | 525 ------ .../factories/MetaERC20Wrapper__factory.js | 706 -------- src/gen/adapter/factories/index.js | 9 + .../IERC20Wrapper__factory.js | 22 +- src/gen/adapter/factories/interfaces/index.js | 19 + .../ERC20Mock.sol}/ERC20Mock__factory.js | 71 +- .../ERC20Mock.sol}/ERC20__factory.js | 71 +- .../factories/mocks/ERC20Mock.sol/index.js | 21 + src/gen/adapter/factories/mocks/index.js | 7 + .../wrapper/ERC20Wrapper__factory.js | 542 ++++++ .../wrapper/MetaERC20Wrapper__factory.js | 723 ++++++++ src/gen/adapter/factories/wrapper/index.js | 21 + src/gen/adapter/index.js | 19 +- src/gen/adapter/interfaces/IERC20Wrapper.js | 2 + src/gen/adapter/interfaces/index.js | 2 + src/gen/adapter/mocks/ERC20Mock.sol/ERC20.js | 2 + .../adapter/mocks/ERC20Mock.sol/ERC20Mock.js | 2 + src/gen/adapter/mocks/ERC20Mock.sol/index.js | 2 + src/gen/adapter/mocks/index.js | 2 + src/gen/adapter/wrapper/ERC20Wrapper.js | 2 + src/gen/adapter/wrapper/MetaERC20Wrapper.js | 2 + src/gen/adapter/wrapper/index.js | 2 + src/gen/typechain/ERC20.d.ts | 592 ------ src/gen/typechain/ERC20Mock.d.ts | 658 ------- src/gen/typechain/ERC20Wrapper.d.ts | 1148 ------------ src/gen/typechain/IERC20Wrapper.d.ts | 1138 ------------ src/gen/typechain/MetaERC20Wrapper.d.ts | 1608 ----------------- src/gen/typechain/common.ts | 46 + src/gen/typechain/commons.ts | 23 - .../factories/ERC20Wrapper__factory.ts | 520 ------ .../factories/MetaERC20Wrapper__factory.ts | 701 ------- src/gen/typechain/factories/index.ts | 6 + .../IERC20Wrapper__factory.ts | 34 +- .../typechain/factories/interfaces/index.ts | 4 + .../ERC20Mock.sol}/ERC20Mock__factory.ts | 92 +- .../ERC20Mock.sol}/ERC20__factory.ts | 83 +- .../factories/mocks/ERC20Mock.sol/index.ts | 5 + .../factories/mocks/index.ts} | 3 +- .../wrapper/ERC20Wrapper__factory.ts | 540 ++++++ .../wrapper/MetaERC20Wrapper__factory.ts | 721 ++++++++ src/gen/typechain/factories/wrapper/index.ts | 5 + src/gen/typechain/index.ts | 28 +- src/gen/typechain/interfaces/IERC20Wrapper.ts | 780 ++++++++ src/gen/typechain/interfaces/index.ts | 4 + .../typechain/mocks/ERC20Mock.sol/ERC20.ts | 422 +++++ .../mocks/ERC20Mock.sol/ERC20Mock.ts | 459 +++++ .../typechain/mocks/ERC20Mock.sol/index.ts | 5 + src/gen/typechain/mocks/index.ts | 5 + src/gen/typechain/wrapper/ERC20Wrapper.ts | 803 ++++++++ src/gen/typechain/wrapper/MetaERC20Wrapper.ts | 1107 ++++++++++++ src/gen/typechain/wrapper/index.ts | 5 + yarn.lock | 656 ++----- 66 files changed, 6749 insertions(+), 8294 deletions(-) delete mode 100644 src/artifacts/@0xsequence/erc-1155/contracts/utils/SafeMath.sol/SafeMath.json create mode 100644 src/gen/adapter/common.js delete mode 100644 src/gen/adapter/factories/ERC20Wrapper__factory.js delete mode 100644 src/gen/adapter/factories/MetaERC20Wrapper__factory.js create mode 100644 src/gen/adapter/factories/index.js rename src/gen/adapter/factories/{ => interfaces}/IERC20Wrapper__factory.js (98%) create mode 100644 src/gen/adapter/factories/interfaces/index.js rename src/gen/adapter/factories/{ => mocks/ERC20Mock.sol}/ERC20Mock__factory.js (66%) rename src/gen/adapter/factories/{ => mocks/ERC20Mock.sol}/ERC20__factory.js (67%) create mode 100644 src/gen/adapter/factories/mocks/ERC20Mock.sol/index.js create mode 100644 src/gen/adapter/factories/mocks/index.js create mode 100644 src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js create mode 100644 src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js create mode 100644 src/gen/adapter/factories/wrapper/index.js create mode 100644 src/gen/adapter/interfaces/IERC20Wrapper.js create mode 100644 src/gen/adapter/interfaces/index.js create mode 100644 src/gen/adapter/mocks/ERC20Mock.sol/ERC20.js create mode 100644 src/gen/adapter/mocks/ERC20Mock.sol/ERC20Mock.js create mode 100644 src/gen/adapter/mocks/ERC20Mock.sol/index.js create mode 100644 src/gen/adapter/mocks/index.js create mode 100644 src/gen/adapter/wrapper/ERC20Wrapper.js create mode 100644 src/gen/adapter/wrapper/MetaERC20Wrapper.js create mode 100644 src/gen/adapter/wrapper/index.js delete mode 100644 src/gen/typechain/ERC20.d.ts delete mode 100644 src/gen/typechain/ERC20Mock.d.ts delete mode 100644 src/gen/typechain/ERC20Wrapper.d.ts delete mode 100644 src/gen/typechain/IERC20Wrapper.d.ts delete mode 100644 src/gen/typechain/MetaERC20Wrapper.d.ts create mode 100644 src/gen/typechain/common.ts delete mode 100644 src/gen/typechain/commons.ts delete mode 100644 src/gen/typechain/factories/ERC20Wrapper__factory.ts delete mode 100644 src/gen/typechain/factories/MetaERC20Wrapper__factory.ts create mode 100644 src/gen/typechain/factories/index.ts rename src/gen/typechain/factories/{ => interfaces}/IERC20Wrapper__factory.ts (95%) create mode 100644 src/gen/typechain/factories/interfaces/index.ts rename src/gen/typechain/factories/{ => mocks/ERC20Mock.sol}/ERC20Mock__factory.ts (53%) rename src/gen/typechain/factories/{ => mocks/ERC20Mock.sol}/ERC20__factory.ts (53%) create mode 100644 src/gen/typechain/factories/mocks/ERC20Mock.sol/index.ts rename src/gen/{adapter/commons.js => typechain/factories/mocks/index.ts} (64%) create mode 100644 src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts create mode 100644 src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts create mode 100644 src/gen/typechain/factories/wrapper/index.ts create mode 100644 src/gen/typechain/interfaces/IERC20Wrapper.ts create mode 100644 src/gen/typechain/interfaces/index.ts create mode 100644 src/gen/typechain/mocks/ERC20Mock.sol/ERC20.ts create mode 100644 src/gen/typechain/mocks/ERC20Mock.sol/ERC20Mock.ts create mode 100644 src/gen/typechain/mocks/ERC20Mock.sol/index.ts create mode 100644 src/gen/typechain/mocks/index.ts create mode 100644 src/gen/typechain/wrapper/ERC20Wrapper.ts create mode 100644 src/gen/typechain/wrapper/MetaERC20Wrapper.ts create mode 100644 src/gen/typechain/wrapper/index.ts diff --git a/package.json b/package.json index 6ee7ed1..dc8472a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "clean": "rimraf src/artifacts && rimraf src/gen && rimraf cache", "compile": "hardhat --max-memory 4096 compile", "adapter": "yarn adapter:gen && yarn adapter:build", - "adapter:gen": "rimraf src/gen/typechain && typechain --target ethers-v5 --outDir src/gen/typechain './src/artifacts/contracts/**/*[^dbg].json'", + "adapter:gen": "rimraf src/gen/typechain && typechain --target ethers-v5 --out-dir src/gen/typechain './src/artifacts/contracts/**/*[^dbg].json'", "adapter:build": "rimraf src/gen/adapter && tsc ./src/gen/typechain/index.ts --outDir ./src/gen/adapter", "test": "yarn build && yarn concurrently -k --success first 'yarn start:ganache' 'yarn test:ganache'", "test:hardhat": "hardhat test", @@ -34,7 +34,7 @@ "@nomiclabs/hardhat-truffle5": "^2.0.0", "@nomiclabs/hardhat-web3": "^2.0.0", "@tenderly/hardhat-tenderly": "^1.0.11", - "@typechain/ethers-v5": "^6.0.3", + "@typechain/ethers-v5": "^10.1.1", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/chai-string": "^1.4.2", @@ -52,16 +52,16 @@ "eslint-config-prettier": "^8.1.0", "eslint-plugin-import": "^2.22.0", "eslint-plugin-prettier": "^3.3.1", - "ethers": "^5.0.32", + "ethers": "^5.7.2", "ganache-cli": "6.12.2", "hardhat": "2.12.2", "hardhat-gas-reporter": "^1.0.4", - "rimraf": "^3.0.2", + "rimraf": "^4.4.0", "solhint": "^3.3.2", "solidity-coverage": "^0.7.16", "ts-node": "^9.1.1", - "typechain": "^4.0.3", - "typescript": "^4.2.3" + "typechain": "^8.1.1", + "typescript": "^4.8.4" }, "keywords": [ "token", diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155.sol/ERC1155.json b/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155.sol/ERC1155.json index 64f89ae..ed51cbb 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155.sol/ERC1155.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155.sol/ERC1155.json @@ -278,8 +278,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611677806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146102f5578063a22cb4651461046c578063e985e9c5146104a7578063f242432a146104e25761007c565b8062fdd58e1461008157806301ffc9a7146100cc5780632eb2c2d61461011f575b600080fd5b6100ba6004803603604081101561009757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356105ba565b60408051918252519081900360200190f35b61010b600480360360208110156100e257600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166105ed565b604080519115158252519081900360200190f35b6102f3600480360360a081101561013557600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169181019060608101604082013564010000000081111561017657600080fd5b82018360208201111561018857600080fd5b803590602001918460208302840111640100000000831117156101aa57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184602083028401116401000000008311171561022e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460018302840111640100000000831117156102b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610652945050505050565b005b61041c6004803603604081101561030b57600080fd5b81019060208101813564010000000081111561032657600080fd5b82018360208201111561033857600080fd5b8035906020019184602083028401116401000000008311171561035a57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103aa57600080fd5b8201836020820111156103bc57600080fd5b803590602001918460208302840111640100000000831117156103de57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061075d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610458578181015183820152602001610440565b505050509050019250505060405180910390f35b6102f36004803603604081101561048257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156108a9565b61010b600480360360408110156104bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610942565b6102f3600480360360a08110156104f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561054557600080fd5b82018360208201111561055757600080fd5b8035906020019184600183028401116401000000008311171561057957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061097d945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014156106415750600161064d565b61064a82610a81565b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061067b575061067b8533610942565b6106d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061159a602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061153e6030913960400191505060405180910390fd5b61074885858585610acb565b610756858585855a86610e1f565b5050505050565b606081518351146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061156e602c913960400191505060405180910390fd5b6060835167ffffffffffffffff811180156107d357600080fd5b506040519080825280602002602001820160405280156107fd578160200160208202803683370190505b50905060005b84518110156108a15760008086838151811061081b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061086b57fe5b602002602001015181526020019081526020016000205482828151811061088e57fe5b6020908102919091010152600101610803565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff861614806109a657506109a68533610942565b6109fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806114b4602b913960400191505060405180910390fd5b610a7385858585611096565b610756858585855a86611199565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b8051825114610b25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806115096035913960400191505060405180910390fd5b815160005b81811015610d1757610bba838281518110610b4157fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610b9557fe5b602002602001015181526020019081526020016000205461138a90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610c0657fe5b6020026020010151815260200190815260200160002081905550610ca8838281518110610c2f57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610c8357fe5b602002602001015181526020019081526020016000205461140190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610cf457fe5b602090810291909101810151825281019190915260400160002055600101610b2a565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610dc4578181015183820152602001610dac565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610e03578181015183820152602001610deb565b5050505090500194505050505060405180910390a45050505050565b610e3e8573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610ef6578181015183820152602001610ede565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610f35578181015183820152602001610f1d565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015610f71578181015183820152602001610f59565b50505050905090810190601f168015610f9e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015610fc357600080fd5b5087f1158015610fd7573d6000803e3d6000fd5b50505050506040513d6020811015610fee57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806115c9603f913960400191505060405180910390fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546110cf908261138a565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461111f9082611401565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6111b88573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611271578181015183820152602001611259565b50505050905090810190601f16801561129e5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156112c157600080fd5b5087f11580156112d5573d6000803e3d6000fd5b50505050506040513d60208110156112ec57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611608603a913960400191505060405180910390fd5b6000828211156113fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561147557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000813f801580159061147557507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47014159291505056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a2646970667358221220500b3f5218241b99e9442b0828b465ccd2ce415954fa310096a24278e6d42a7d64736f6c63430007040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146102f5578063a22cb4651461046c578063e985e9c5146104a7578063f242432a146104e25761007c565b8062fdd58e1461008157806301ffc9a7146100cc5780632eb2c2d61461011f575b600080fd5b6100ba6004803603604081101561009757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356105ba565b60408051918252519081900360200190f35b61010b600480360360208110156100e257600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166105ed565b604080519115158252519081900360200190f35b6102f3600480360360a081101561013557600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169181019060608101604082013564010000000081111561017657600080fd5b82018360208201111561018857600080fd5b803590602001918460208302840111640100000000831117156101aa57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184602083028401116401000000008311171561022e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460018302840111640100000000831117156102b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610652945050505050565b005b61041c6004803603604081101561030b57600080fd5b81019060208101813564010000000081111561032657600080fd5b82018360208201111561033857600080fd5b8035906020019184602083028401116401000000008311171561035a57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103aa57600080fd5b8201836020820111156103bc57600080fd5b803590602001918460208302840111640100000000831117156103de57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061075d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610458578181015183820152602001610440565b505050509050019250505060405180910390f35b6102f36004803603604081101561048257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156108a9565b61010b600480360360408110156104bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610942565b6102f3600480360360a08110156104f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561054557600080fd5b82018360208201111561055757600080fd5b8035906020019184600183028401116401000000008311171561057957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061097d945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014156106415750600161064d565b61064a82610a81565b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061067b575061067b8533610942565b6106d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061159a602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061153e6030913960400191505060405180910390fd5b61074885858585610acb565b610756858585855a86610e1f565b5050505050565b606081518351146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061156e602c913960400191505060405180910390fd5b6060835167ffffffffffffffff811180156107d357600080fd5b506040519080825280602002602001820160405280156107fd578160200160208202803683370190505b50905060005b84518110156108a15760008086838151811061081b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061086b57fe5b602002602001015181526020019081526020016000205482828151811061088e57fe5b6020908102919091010152600101610803565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff861614806109a657506109a68533610942565b6109fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806114b4602b913960400191505060405180910390fd5b610a7385858585611096565b610756858585855a86611199565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b8051825114610b25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806115096035913960400191505060405180910390fd5b815160005b81811015610d1757610bba838281518110610b4157fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610b9557fe5b602002602001015181526020019081526020016000205461138a90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610c0657fe5b6020026020010151815260200190815260200160002081905550610ca8838281518110610c2f57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610c8357fe5b602002602001015181526020019081526020016000205461140190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610cf457fe5b602090810291909101810151825281019190915260400160002055600101610b2a565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610dc4578181015183820152602001610dac565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610e03578181015183820152602001610deb565b5050505090500194505050505060405180910390a45050505050565b610e3e8573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610ef6578181015183820152602001610ede565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610f35578181015183820152602001610f1d565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015610f71578181015183820152602001610f59565b50505050905090810190601f168015610f9e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015610fc357600080fd5b5087f1158015610fd7573d6000803e3d6000fd5b50505050506040513d6020811015610fee57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806115c9603f913960400191505060405180910390fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546110cf908261138a565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461111f9082611401565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6111b88573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611271578181015183820152602001611259565b50505050905090810190601f16801561129e5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156112c157600080fd5b5087f11580156112d5573d6000803e3d6000fd5b50505050506040513d60208110156112ec57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611608603a913960400191505060405180910390fd5b6000828211156113fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561147557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000813f801580159061147557507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47014159291505056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a2646970667358221220500b3f5218241b99e9442b0828b465ccd2ce415954fa310096a24278e6d42a7d64736f6c63430007040033", + "bytecode": "0x608060405234801561001057600080fd5b5061156d806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146100df578063a22cb465146100ff578063e985e9c514610112578063f242432a1461015b57600080fd5b8062fdd58e1461008157806301ffc9a7146100a75780632eb2c2d6146100ca575b600080fd5b61009461008f366004610e72565b61016e565b6040519081526020015b60405180910390f35b6100ba6100b5366004610ecd565b6101a4565b604051901515815260200161009e565b6100dd6100d8366004611085565b610241565b005b6100f26100ed36600461112f565b6103ea565b60405161009e919061122a565b6100dd61010d36600461123d565b61058a565b6100ba610120366004611279565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6100dd6101693660046112ac565b610621565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007f264985da000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316016101f757506001919050565b7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461019e565b3373ffffffffffffffffffffffffffffffffffffffff86161480610295575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e5400000000000000000000000000000000606482015260840161031d565b6103d5858585856107be565b6103e3858585855a86610a23565b5050505050565b6060815183511461047d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e4754480000000000000000000000000000000000000000606482015260840161031d565b6000835167ffffffffffffffff81111561049957610499610eea565b6040519080825280602002602001820160405280156104c2578160200160208202803683370190505b50905060005b8451811015610582576000808683815181106104e6576104e6611311565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061053c5761053c611311565b602002602001015181526020019081526020016000205482828151811061056557610565611311565b60209081029190910101528061057a8161136f565b9150506104c8565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610675575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f5200000000000000000000000000000000000000000000606482015260840161031d565b73ffffffffffffffffffffffffffffffffffffffff84166107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e54000000000000000000000000000000000000000000606482015260840161031d565b6107b085858585610bac565b6103e3858585855a86610c90565b805182511461084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e4754480000000000000000000000606482015260840161031d565b815160005b8181101561099d5782818151811061086e5761086e611311565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106108c8576108c8611311565b6020026020010151815260200190815260200160002060008282546108ed91906113a7565b9250508190555082818151811061090657610906611311565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061096057610960611311565b60200260200101518152602001908152602001600020600082825461098591906113ba565b909155508190506109958161136f565b915050610854565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610a149291906113cd565b60405180910390a45050505050565b610a428573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401610a8b95949392919061145f565b60206040518083038160008887f1158015610aaa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610acf91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474500606482015260840161031d565b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290610bea9084906113a7565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290610c2d9084906113ba565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b610caf8573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401610cf89594939291906114e7565b60206040518083038160008887f1158015610d17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d3c91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000606482015260840161031d565b6000813f8015801590610e4257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e6d57600080fd5b919050565b60008060408385031215610e8557600080fd5b610e8e83610e49565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610eca57600080fd5b50565b600060208284031215610edf57600080fd5b8135610e4281610e9c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6057610f60610eea565b604052919050565b600067ffffffffffffffff821115610f8257610f82610eea565b5060051b60200190565b600082601f830112610f9d57600080fd5b81356020610fb2610fad83610f68565b610f19565b82815260059290921b84018101918181019086841115610fd157600080fd5b8286015b84811015610fec5780358352918301918301610fd5565b509695505050505050565b600082601f83011261100857600080fd5b813567ffffffffffffffff81111561102257611022610eea565b61105360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610f19565b81815284602083860101111561106857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561109d57600080fd5b6110a686610e49565b94506110b460208701610e49565b9350604086013567ffffffffffffffff808211156110d157600080fd5b6110dd89838a01610f8c565b945060608801359150808211156110f357600080fd5b6110ff89838a01610f8c565b9350608088013591508082111561111557600080fd5b5061112288828901610ff7565b9150509295509295909350565b6000806040838503121561114257600080fd5b823567ffffffffffffffff8082111561115a57600080fd5b818501915085601f83011261116e57600080fd5b8135602061117e610fad83610f68565b82815260059290921b8401810191818101908984111561119d57600080fd5b948201945b838610156111c2576111b386610e49565b825294820194908201906111a2565b965050860135925050808211156111d857600080fd5b506111e585828601610f8c565b9150509250929050565b600081518084526020808501945080840160005b8381101561121f57815187529582019590820190600101611203565b509495945050505050565b602081526000610e4260208301846111ef565b6000806040838503121561125057600080fd5b61125983610e49565b91506020830135801515811461126e57600080fd5b809150509250929050565b6000806040838503121561128c57600080fd5b61129583610e49565b91506112a360208401610e49565b90509250929050565b600080600080600060a086880312156112c457600080fd5b6112cd86610e49565b94506112db60208701610e49565b93506040860135925060608601359150608086013567ffffffffffffffff81111561130557600080fd5b61112288828901610ff7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113a0576113a0611340565b5060010190565b8181038181111561019e5761019e611340565b8082018082111561019e5761019e611340565b6040815260006113e060408301856111ef565b82810360208401526113f281856111ef565b95945050505050565b6000815180845260005b8181101561142157602081850181015186830182015201611405565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261149860a08301866111ef565b82810360608401526114aa81866111ef565b905082810360808401526114be81856113fb565b98975050505050505050565b6000602082840312156114dc57600080fd5b8151610e4281610e9c565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261152c60a08301846113fb565b97965050505050505056fea2646970667358221220e34cc9b7e8e870b8116deede0da244a0487820d1b06d5865e231ca7edcdef05064736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146100df578063a22cb465146100ff578063e985e9c514610112578063f242432a1461015b57600080fd5b8062fdd58e1461008157806301ffc9a7146100a75780632eb2c2d6146100ca575b600080fd5b61009461008f366004610e72565b61016e565b6040519081526020015b60405180910390f35b6100ba6100b5366004610ecd565b6101a4565b604051901515815260200161009e565b6100dd6100d8366004611085565b610241565b005b6100f26100ed36600461112f565b6103ea565b60405161009e919061122a565b6100dd61010d36600461123d565b61058a565b6100ba610120366004611279565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6100dd6101693660046112ac565b610621565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007f264985da000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316016101f757506001919050565b7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461019e565b3373ffffffffffffffffffffffffffffffffffffffff86161480610295575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e5400000000000000000000000000000000606482015260840161031d565b6103d5858585856107be565b6103e3858585855a86610a23565b5050505050565b6060815183511461047d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e4754480000000000000000000000000000000000000000606482015260840161031d565b6000835167ffffffffffffffff81111561049957610499610eea565b6040519080825280602002602001820160405280156104c2578160200160208202803683370190505b50905060005b8451811015610582576000808683815181106104e6576104e6611311565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061053c5761053c611311565b602002602001015181526020019081526020016000205482828151811061056557610565611311565b60209081029190910101528061057a8161136f565b9150506104c8565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610675575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f5200000000000000000000000000000000000000000000606482015260840161031d565b73ffffffffffffffffffffffffffffffffffffffff84166107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e54000000000000000000000000000000000000000000606482015260840161031d565b6107b085858585610bac565b6103e3858585855a86610c90565b805182511461084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e4754480000000000000000000000606482015260840161031d565b815160005b8181101561099d5782818151811061086e5761086e611311565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106108c8576108c8611311565b6020026020010151815260200190815260200160002060008282546108ed91906113a7565b9250508190555082818151811061090657610906611311565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061096057610960611311565b60200260200101518152602001908152602001600020600082825461098591906113ba565b909155508190506109958161136f565b915050610854565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610a149291906113cd565b60405180910390a45050505050565b610a428573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401610a8b95949392919061145f565b60206040518083038160008887f1158015610aaa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610acf91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474500606482015260840161031d565b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290610bea9084906113a7565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290610c2d9084906113ba565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b610caf8573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401610cf89594939291906114e7565b60206040518083038160008887f1158015610d17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d3c91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000606482015260840161031d565b6000813f8015801590610e4257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e6d57600080fd5b919050565b60008060408385031215610e8557600080fd5b610e8e83610e49565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610eca57600080fd5b50565b600060208284031215610edf57600080fd5b8135610e4281610e9c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6057610f60610eea565b604052919050565b600067ffffffffffffffff821115610f8257610f82610eea565b5060051b60200190565b600082601f830112610f9d57600080fd5b81356020610fb2610fad83610f68565b610f19565b82815260059290921b84018101918181019086841115610fd157600080fd5b8286015b84811015610fec5780358352918301918301610fd5565b509695505050505050565b600082601f83011261100857600080fd5b813567ffffffffffffffff81111561102257611022610eea565b61105360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610f19565b81815284602083860101111561106857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561109d57600080fd5b6110a686610e49565b94506110b460208701610e49565b9350604086013567ffffffffffffffff808211156110d157600080fd5b6110dd89838a01610f8c565b945060608801359150808211156110f357600080fd5b6110ff89838a01610f8c565b9350608088013591508082111561111557600080fd5b5061112288828901610ff7565b9150509295509295909350565b6000806040838503121561114257600080fd5b823567ffffffffffffffff8082111561115a57600080fd5b818501915085601f83011261116e57600080fd5b8135602061117e610fad83610f68565b82815260059290921b8401810191818101908984111561119d57600080fd5b948201945b838610156111c2576111b386610e49565b825294820194908201906111a2565b965050860135925050808211156111d857600080fd5b506111e585828601610f8c565b9150509250929050565b600081518084526020808501945080840160005b8381101561121f57815187529582019590820190600101611203565b509495945050505050565b602081526000610e4260208301846111ef565b6000806040838503121561125057600080fd5b61125983610e49565b91506020830135801515811461126e57600080fd5b809150509250929050565b6000806040838503121561128c57600080fd5b61129583610e49565b91506112a360208401610e49565b90509250929050565b600080600080600060a086880312156112c457600080fd5b6112cd86610e49565b94506112db60208701610e49565b93506040860135925060608601359150608086013567ffffffffffffffff81111561130557600080fd5b61112288828901610ff7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113a0576113a0611340565b5060010190565b8181038181111561019e5761019e611340565b8082018082111561019e5761019e611340565b6040815260006113e060408301856111ef565b82810360208401526113f281856111ef565b95945050505050565b6000815180845260005b8181101561142157602081850181015186830182015201611405565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261149860a08301866111ef565b82810360608401526114aa81866111ef565b905082810360808401526114be81856113fb565b98975050505050505050565b6000602082840312156114dc57600080fd5b8151610e4281610e9c565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261152c60a08301846113fb565b97965050505050505056fea2646970667358221220e34cc9b7e8e870b8116deede0da244a0487820d1b06d5865e231ca7edcdef05064736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155Meta.sol/ERC1155Meta.json b/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155Meta.sol/ERC1155Meta.json index 7a15cb0..a23332e 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155Meta.sol/ERC1155Meta.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155Meta.sol/ERC1155Meta.json @@ -459,8 +459,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50613356806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e01c8063a3d4926e11610081578063f242432a1161005b578063f242432a146101b5578063f5d4c820146101c8578063fa4e12d7146101db576100d3565b8063a3d4926e1461017c578063ce0b514b1461018f578063e985e9c5146101a2576100d3565b80632eb2c2d6116100b25780632eb2c2d6146101345780634e1273f414610149578063a22cb46514610169576100d3565b8062fdd58e146100d857806301ffc9a7146101015780632d0335ab14610121575b600080fd5b6100eb6100e6366004612907565b6101ee565b6040516100f89190612f14565b60405180910390f35b61011461010f366004612a11565b610221565b6040516100f89190612c5e565b6100eb61012f36600461250d565b610286565b610147610142366004612667565b6102ae565b005b61015c610157366004612932565b6103b9565b6040516100f89190612c1a565b61014761017736600461285d565b610505565b61014761018a3660046125aa565b61059e565b61014761019d36600461278a565b61071b565b6101146101b0366004612572565b6107fa565b6101476101c3366004612802565b610835565b6101476101d6366004612711565b610939565b6101146101e936600461288a565b610a69565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000141561027557506001610281565b61027e8261124a565b90505b919050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b3373ffffffffffffffffffffffffffffffffffffffff861614806102d757506102d785336107fa565b61032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131fa602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061316b6030913960400191505060405180910390fd5b6103a485858585611294565b6103b2858585855a866115e8565b5050505050565b60608151835114610415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061319b602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561042f57600080fd5b50604051908082528060200260200182016040528015610459578160200160208202803683370190505b50905060005b84518110156104fd5760008086838151811061047757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106104c757fe5b60200260200101518152602001908152602001600020548282815181106104ea57fe5b602090810291909101015260010161045f565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff85166105f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612dfd565b60405180910390fd5b60606105fe61233e565b60606106b189857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c60405160200161063c9190612b10565b604051602081830303815290604052805190602001208c6040516020016106639190612b10565b604051602081830303815290604052805190602001208c610685576000610688565b60015b60405160200161069d96959493929190612c69565b604051602081830303815290604052611855565b90506106bf89898989611294565b841561070257808060200190518101906106d99190612adb565b80945081935050506106f3898989898660200151886115e8565b6106fd8983611a24565b610710565b610710898989895a866115e8565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610768576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612ce6565b606061077261233e565b60606107aa89857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c610685576000610688565b90506107b889898989611ccd565b84156107ec57808060200190518101906107d29190612adb565b80945081935050506106f389898989866020015188611dd0565b610710898989895a86611dd0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff8616148061085e575061085e85336107fa565b6108b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613065602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613003602b913960400191505060405180910390fd5b61092b85858585611ccd565b6103b2858585855a86611dd0565b606061099586837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa52482898961096f576000610972565b60015b8961097e576000610981565b60015b60405160200161069d959493929190612caa565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b16808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168915151790555192935090917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610a29908890612c5e565b60405180910390a38215610a6157610a3f61233e565b81806020019051810190610a539190612aa8565b9050610a5f8782611a24565b505b505050505050565b600080825111610ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260438152602001806132296043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610b30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806131c76033913960400191505060405180910390fd5b6000610b3b83611fc1565b60f81c905060058110610b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806130c4603a913960400191505060405180910390fd5b60008160ff166005811115610baa57fe5b9050600080808080856005811115610bbe57fe5b1415610c15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806130fe6036913960400191505060405180910390fd5b6001856005811115610c2357fe5b1415610d66578751606114610c83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806131346037913960400191505060405180910390fd5b610c8e88600061207e565b9250610c9b88602061207e565b915087604081518110610caa57fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610d14573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506112429650505050505050565b6002856005811115610d7457fe5b1415610ec4578751606114610dd4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806131346037913960400191505060405180910390fd5b610ddf88600061207e565b9250610dec88602061207e565b915087604081518110610dfb57fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015610d14573d6000803e3d6000fd5b6003856005811115610ed257fe5b141561108a57604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b83811015610f60578181015183820152602001610f48565b50505050905090810190601f168015610f8d5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610fc0578181015183820152602001610fa8565b50505050905090810190601f168015610fed5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d602081101561103657600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061124295505050505050565b600485600581111561109857fe5b14156111f157604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b83811015611128578181015183820152602001611110565b50505050905090810190601f1680156111555780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d602081101561119d57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061124295505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806130c4603a913960400191505060405180910390fd5b949350505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b80518251146112ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061308f6035913960400191505060405180910390fd5b815160005b818110156114e05761138383828151811061130a57fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061135e57fe5b60200260200101518152602001908152602001600020546120e690919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113cf57fe5b60200260200101518152602001908152602001600020819055506114718382815181106113f857fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061144c57fe5b602002602001015181526020019081526020016000205461215d90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106114bd57fe5b6020908102919091018101518252810191909152604001600020556001016112f3565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561158d578181015183820152602001611575565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156115cc5781810151838201526020016115b4565b5050505090500194505050505060405180910390a45050505050565b6116078573ffffffffffffffffffffffffffffffffffffffff166121d8565b15610a615760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156116bf5781810151838201526020016116a7565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156116fe5781810151838201526020016116e6565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561173a578181015183820152602001611722565b50505050905090810190601f1680156117675780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561178c57600080fd5b5087f11580156117a0573d6000803e3d6000fd5b50505050506040513d60208110156117b757600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f81526020018061326c603f913960400191505060405180910390fd5b6060808380602001905181019061186c9190612a51565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260026020526040812054919450919250906118a483604161207e565b90508181108015906118b857508160640181105b6118ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612e5a565b600061192a8683878051906020012060405160200161190f93929190612b46565b6040516020818303038152906040528051906020012061220f565b9050606086838760405160200161194393929190612b6d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825273ffffffffffffffffffffffffffffffffffffffff8c166000818152600260205292909220600187019081905590935090917fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59916119ce91612f14565b60405180910390a26119e289838388610a69565b611a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612d43565b50505050509392505050565b6000611a338260600151611fc1565b60f81c905060028110611a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612eb7565b60008160ff166002811115611a8357fe5b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615611ab9578660400151611abb565b335b92506000856002811115611acb57fe5b1415611bca578660600151806020019051810190611ae99190612545565b909450915073ffffffffffffffffffffffffffffffffffffffff8416301415611b3a57611b1888848484611ccd565b611b358884845a8560405180602001604052806000815250611dd0565b611bc5565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f242432a90611b92908b90879087908790600401612bd5565b600060405180830381600087803b158015611bac57600080fd5b505af1158015611bc0573d6000803e3d6000fd5b505050505b611cc3565b8660600151806020019051810190611be29190612529565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290945073ffffffffffffffffffffffffffffffffffffffff8516906323b872dd90611c3b908b9087908690600401612ba4565b602060405180830381600087803b158015611c5557600080fd5b505af1158015611c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8d91906129f5565b611cc3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612da0565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152902054611d0690826120e6565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526020818152604080832087845282528083209490945591861681528082528281208582529091522054611d56908261215d565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b611def8573ffffffffffffffffffffffffffffffffffffffff166121d8565b15610a615760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ea8578181015183820152602001611e90565b50505050905090810190601f168015611ed55780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b158015611ef857600080fd5b5087f1158015611f0c573d6000803e3d6000fd5b50505050506040513d6020811015611f2357600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806132ab603a913960400191505060405180910390fd5b60008082511161201c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603781526020018061302e6037913960400191505060405180910390fd5b8160018351038151811061202c57fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b600081602001835110156120dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806132e5603c913960400191505060405180910390fd5b50016020015190565b60008282111561215757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000828201838110156121d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000813f80158015906121d157507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b604080518082018252600281527f1901000000000000000000000000000000000000000000000000000000000000602080830191825283517f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d47498183015230818601528451808203860181526060820190955284519490910193909320825160009491928692608001918291908083835b602083106122dc57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161229f565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600082601f83011261238c578081fd5b813561239f61239a82612f41565b612f1d565b8181529150602080830190848101818402860182018710156123c057600080fd5b60005b848110156123df578135845292820192908201906001016123c3565b505050505092915050565b600082601f8301126123fa578081fd5b813561240861239a82612f5f565b915080825283602082850101111561241f57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612448578081fd5b815161245661239a82612f5f565b915080825283602082850101111561246d57600080fd5b61247e816020840160208601612f9f565b5092915050565b600060808284031215612496578081fd5b6040516080810167ffffffffffffffff82821081831117156124b457fe5b816040528293508451835260208501516020840152604085015191506124d982612fcf565b81604084015260608501519150808211156124f357600080fd5b5061250085828601612438565b6060830152505092915050565b60006020828403121561251e578081fd5b81356121d181612fcf565b60006020828403121561253a578081fd5b81516121d181612fcf565b60008060408385031215612557578081fd5b825161256281612fcf565b6020939093015192949293505050565b60008060408385031215612584578182fd5b823561258f81612fcf565b9150602083013561259f81612fcf565b809150509250929050565b60008060008060008060c087890312156125c2578182fd5b86356125cd81612fcf565b955060208701356125dd81612fcf565b9450604087013567ffffffffffffffff808211156125f9578384fd5b6126058a838b0161237c565b9550606089013591508082111561261a578384fd5b6126268a838b0161237c565b94506080890135915061263882612ff4565b90925060a0880135908082111561264d578283fd5b5061265a89828a016123ea565b9150509295509295509295565b600080600080600060a0868803121561267e578081fd5b853561268981612fcf565b9450602086013561269981612fcf565b9350604086013567ffffffffffffffff808211156126b5578283fd5b6126c189838a0161237c565b945060608801359150808211156126d6578283fd5b6126e289838a0161237c565b935060808801359150808211156126f7578283fd5b50612704888289016123ea565b9150509295509295909350565b600080600080600060a08688031215612728578081fd5b853561273381612fcf565b9450602086013561274381612fcf565b9350604086013561275381612ff4565b9250606086013561276381612ff4565b9150608086013567ffffffffffffffff81111561277e578182fd5b612704888289016123ea565b60008060008060008060c087890312156127a2578384fd5b86356127ad81612fcf565b955060208701356127bd81612fcf565b9450604087013593506060870135925060808701356127db81612ff4565b915060a087013567ffffffffffffffff8111156127f6578182fd5b61265a89828a016123ea565b600080600080600060a08688031215612819578283fd5b853561282481612fcf565b9450602086013561283481612fcf565b93506040860135925060608601359150608086013567ffffffffffffffff81111561277e578182fd5b6000806040838503121561286f578182fd5b823561287a81612fcf565b9150602083013561259f81612ff4565b6000806000806080858703121561289f578182fd5b84356128aa81612fcf565b935060208501359250604085013567ffffffffffffffff808211156128cd578384fd5b6128d9888389016123ea565b935060608701359150808211156128ee578283fd5b506128fb878288016123ea565b91505092959194509250565b60008060408385031215612919578182fd5b823561292481612fcf565b946020939093013593505050565b60008060408385031215612944578182fd5b823567ffffffffffffffff8082111561295b578384fd5b818501915085601f83011261296e578384fd5b813561297c61239a82612f41565b80828252602080830192508086018a82838702890101111561299c578889fd5b8896505b848710156129c75780356129b381612fcf565b8452600196909601959281019281016129a0565b5090965087013593505050808211156129de578283fd5b506129eb8582860161237c565b9150509250929050565b600060208284031215612a06578081fd5b81516121d181612ff4565b600060208284031215612a22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146121d1578182fd5b60008060408385031215612a63578182fd5b825167ffffffffffffffff80821115612a7a578384fd5b612a8686838701612438565b93506020850151915080821115612a9b578283fd5b506129eb85828601612438565b600060208284031215612ab9578081fd5b815167ffffffffffffffff811115612acf578182fd5b61124284828501612485565b60008060408385031215612aed578182fd5b825167ffffffffffffffff80821115612b04578384fd5b612a8686838701612485565b815160009082906020808601845b83811015612b3a57815185529382019390820190600101612b1e565b50929695505050505050565b60008451612b58818460208901612f9f565b91909101928352506020820152604001919050565b60008451612b7f818460208901612f9f565b82018481528351612b97816020808501908801612f9f565b0160200195945050505050565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020808252825182820181905260009190848201906040850190845b81811015612c5257835183529284019291840191600101612c36565b50909695505050505050565b901515815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529290931660408501526060840152608083019190915260a082015260c00190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b60208082526033908201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60408201527f3a20494e56414c49445f524543495049454e5400000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f5349474e415455524500000000000000000000000000606082015260800190565b60208082526032908201527f455243313135354d657461235f7472616e736665724761734665653a2045524360408201527f32305f5452414e534645525f4641494c45440000000000000000000000000000606082015260800190565b60208082526038908201527f455243313135354d657461236d6574615361666542617463685472616e73666560408201527f7246726f6d3a20494e56414c49445f524543495049454e540000000000000000606082015260800190565b6020808252602f908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f4e4f4e43450000000000000000000000000000000000606082015260800190565b6020808252602e908201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360408201527f5550504f525445445f544f4b454e000000000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612f3957fe5b604052919050565b600067ffffffffffffffff821115612f5557fe5b5060209081020190565b600067ffffffffffffffff821115612f7357fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612fba578181015183820152602001612fa2565b83811115612fc9576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114612ff157600080fd5b50565b8015158114612ff157600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245444552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f524551554952454445524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e455245524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f524551554952454445524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147454c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a264697066735822122002700b9f81a865114dd07ad22986b9b47f4f93f240e2a43b2d36f492e38ab84664736f6c63430007040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d35760003560e01c8063a3d4926e11610081578063f242432a1161005b578063f242432a146101b5578063f5d4c820146101c8578063fa4e12d7146101db576100d3565b8063a3d4926e1461017c578063ce0b514b1461018f578063e985e9c5146101a2576100d3565b80632eb2c2d6116100b25780632eb2c2d6146101345780634e1273f414610149578063a22cb46514610169576100d3565b8062fdd58e146100d857806301ffc9a7146101015780632d0335ab14610121575b600080fd5b6100eb6100e6366004612907565b6101ee565b6040516100f89190612f14565b60405180910390f35b61011461010f366004612a11565b610221565b6040516100f89190612c5e565b6100eb61012f36600461250d565b610286565b610147610142366004612667565b6102ae565b005b61015c610157366004612932565b6103b9565b6040516100f89190612c1a565b61014761017736600461285d565b610505565b61014761018a3660046125aa565b61059e565b61014761019d36600461278a565b61071b565b6101146101b0366004612572565b6107fa565b6101476101c3366004612802565b610835565b6101476101d6366004612711565b610939565b6101146101e936600461288a565b610a69565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000141561027557506001610281565b61027e8261124a565b90505b919050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b3373ffffffffffffffffffffffffffffffffffffffff861614806102d757506102d785336107fa565b61032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806131fa602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061316b6030913960400191505060405180910390fd5b6103a485858585611294565b6103b2858585855a866115e8565b5050505050565b60608151835114610415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061319b602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561042f57600080fd5b50604051908082528060200260200182016040528015610459578160200160208202803683370190505b50905060005b84518110156104fd5760008086838151811061047757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106104c757fe5b60200260200101518152602001908152602001600020548282815181106104ea57fe5b602090810291909101015260010161045f565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff85166105f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612dfd565b60405180910390fd5b60606105fe61233e565b60606106b189857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c60405160200161063c9190612b10565b604051602081830303815290604052805190602001208c6040516020016106639190612b10565b604051602081830303815290604052805190602001208c610685576000610688565b60015b60405160200161069d96959493929190612c69565b604051602081830303815290604052611855565b90506106bf89898989611294565b841561070257808060200190518101906106d99190612adb565b80945081935050506106f3898989898660200151886115e8565b6106fd8983611a24565b610710565b610710898989895a866115e8565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610768576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612ce6565b606061077261233e565b60606107aa89857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c610685576000610688565b90506107b889898989611ccd565b84156107ec57808060200190518101906107d29190612adb565b80945081935050506106f389898989866020015188611dd0565b610710898989895a86611dd0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff8616148061085e575061085e85336107fa565b6108b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613065602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613003602b913960400191505060405180910390fd5b61092b85858585611ccd565b6103b2858585855a86611dd0565b606061099586837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa52482898961096f576000610972565b60015b8961097e576000610981565b60015b60405160200161069d959493929190612caa565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b16808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168915151790555192935090917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610a29908890612c5e565b60405180910390a38215610a6157610a3f61233e565b81806020019051810190610a539190612aa8565b9050610a5f8782611a24565b505b505050505050565b600080825111610ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260438152602001806132296043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610b30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806131c76033913960400191505060405180910390fd5b6000610b3b83611fc1565b60f81c905060058110610b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806130c4603a913960400191505060405180910390fd5b60008160ff166005811115610baa57fe5b9050600080808080856005811115610bbe57fe5b1415610c15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806130fe6036913960400191505060405180910390fd5b6001856005811115610c2357fe5b1415610d66578751606114610c83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806131346037913960400191505060405180910390fd5b610c8e88600061207e565b9250610c9b88602061207e565b915087604081518110610caa57fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610d14573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506112429650505050505050565b6002856005811115610d7457fe5b1415610ec4578751606114610dd4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806131346037913960400191505060405180910390fd5b610ddf88600061207e565b9250610dec88602061207e565b915087604081518110610dfb57fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015610d14573d6000803e3d6000fd5b6003856005811115610ed257fe5b141561108a57604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b83811015610f60578181015183820152602001610f48565b50505050905090810190601f168015610f8d5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610fc0578181015183820152602001610fa8565b50505050905090810190601f168015610fed5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d602081101561103657600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061124295505050505050565b600485600581111561109857fe5b14156111f157604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b83811015611128578181015183820152602001611110565b50505050905090810190601f1680156111555780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d602081101561119d57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061124295505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806130c4603a913960400191505060405180910390fd5b949350505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b80518251146112ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061308f6035913960400191505060405180910390fd5b815160005b818110156114e05761138383828151811061130a57fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061135e57fe5b60200260200101518152602001908152602001600020546120e690919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113cf57fe5b60200260200101518152602001908152602001600020819055506114718382815181106113f857fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061144c57fe5b602002602001015181526020019081526020016000205461215d90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106114bd57fe5b6020908102919091018101518252810191909152604001600020556001016112f3565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561158d578181015183820152602001611575565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156115cc5781810151838201526020016115b4565b5050505090500194505050505060405180910390a45050505050565b6116078573ffffffffffffffffffffffffffffffffffffffff166121d8565b15610a615760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156116bf5781810151838201526020016116a7565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156116fe5781810151838201526020016116e6565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561173a578181015183820152602001611722565b50505050905090810190601f1680156117675780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561178c57600080fd5b5087f11580156117a0573d6000803e3d6000fd5b50505050506040513d60208110156117b757600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f81526020018061326c603f913960400191505060405180910390fd5b6060808380602001905181019061186c9190612a51565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260026020526040812054919450919250906118a483604161207e565b90508181108015906118b857508160640181105b6118ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612e5a565b600061192a8683878051906020012060405160200161190f93929190612b46565b6040516020818303038152906040528051906020012061220f565b9050606086838760405160200161194393929190612b6d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825273ffffffffffffffffffffffffffffffffffffffff8c166000818152600260205292909220600187019081905590935090917fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59916119ce91612f14565b60405180910390a26119e289838388610a69565b611a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612d43565b50505050509392505050565b6000611a338260600151611fc1565b60f81c905060028110611a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612eb7565b60008160ff166002811115611a8357fe5b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615611ab9578660400151611abb565b335b92506000856002811115611acb57fe5b1415611bca578660600151806020019051810190611ae99190612545565b909450915073ffffffffffffffffffffffffffffffffffffffff8416301415611b3a57611b1888848484611ccd565b611b358884845a8560405180602001604052806000815250611dd0565b611bc5565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f242432a90611b92908b90879087908790600401612bd5565b600060405180830381600087803b158015611bac57600080fd5b505af1158015611bc0573d6000803e3d6000fd5b505050505b611cc3565b8660600151806020019051810190611be29190612529565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290945073ffffffffffffffffffffffffffffffffffffffff8516906323b872dd90611c3b908b9087908690600401612ba4565b602060405180830381600087803b158015611c5557600080fd5b505af1158015611c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8d91906129f5565b611cc3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105eb90612da0565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152902054611d0690826120e6565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526020818152604080832087845282528083209490945591861681528082528281208582529091522054611d56908261215d565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b611def8573ffffffffffffffffffffffffffffffffffffffff166121d8565b15610a615760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ea8578181015183820152602001611e90565b50505050905090810190601f168015611ed55780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b158015611ef857600080fd5b5087f1158015611f0c573d6000803e3d6000fd5b50505050506040513d6020811015611f2357600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806132ab603a913960400191505060405180910390fd5b60008082511161201c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603781526020018061302e6037913960400191505060405180910390fd5b8160018351038151811061202c57fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b600081602001835110156120dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806132e5603c913960400191505060405180910390fd5b50016020015190565b60008282111561215757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000828201838110156121d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000813f80158015906121d157507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b604080518082018252600281527f1901000000000000000000000000000000000000000000000000000000000000602080830191825283517f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d47498183015230818601528451808203860181526060820190955284519490910193909320825160009491928692608001918291908083835b602083106122dc57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161229f565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600082601f83011261238c578081fd5b813561239f61239a82612f41565b612f1d565b8181529150602080830190848101818402860182018710156123c057600080fd5b60005b848110156123df578135845292820192908201906001016123c3565b505050505092915050565b600082601f8301126123fa578081fd5b813561240861239a82612f5f565b915080825283602082850101111561241f57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612448578081fd5b815161245661239a82612f5f565b915080825283602082850101111561246d57600080fd5b61247e816020840160208601612f9f565b5092915050565b600060808284031215612496578081fd5b6040516080810167ffffffffffffffff82821081831117156124b457fe5b816040528293508451835260208501516020840152604085015191506124d982612fcf565b81604084015260608501519150808211156124f357600080fd5b5061250085828601612438565b6060830152505092915050565b60006020828403121561251e578081fd5b81356121d181612fcf565b60006020828403121561253a578081fd5b81516121d181612fcf565b60008060408385031215612557578081fd5b825161256281612fcf565b6020939093015192949293505050565b60008060408385031215612584578182fd5b823561258f81612fcf565b9150602083013561259f81612fcf565b809150509250929050565b60008060008060008060c087890312156125c2578182fd5b86356125cd81612fcf565b955060208701356125dd81612fcf565b9450604087013567ffffffffffffffff808211156125f9578384fd5b6126058a838b0161237c565b9550606089013591508082111561261a578384fd5b6126268a838b0161237c565b94506080890135915061263882612ff4565b90925060a0880135908082111561264d578283fd5b5061265a89828a016123ea565b9150509295509295509295565b600080600080600060a0868803121561267e578081fd5b853561268981612fcf565b9450602086013561269981612fcf565b9350604086013567ffffffffffffffff808211156126b5578283fd5b6126c189838a0161237c565b945060608801359150808211156126d6578283fd5b6126e289838a0161237c565b935060808801359150808211156126f7578283fd5b50612704888289016123ea565b9150509295509295909350565b600080600080600060a08688031215612728578081fd5b853561273381612fcf565b9450602086013561274381612fcf565b9350604086013561275381612ff4565b9250606086013561276381612ff4565b9150608086013567ffffffffffffffff81111561277e578182fd5b612704888289016123ea565b60008060008060008060c087890312156127a2578384fd5b86356127ad81612fcf565b955060208701356127bd81612fcf565b9450604087013593506060870135925060808701356127db81612ff4565b915060a087013567ffffffffffffffff8111156127f6578182fd5b61265a89828a016123ea565b600080600080600060a08688031215612819578283fd5b853561282481612fcf565b9450602086013561283481612fcf565b93506040860135925060608601359150608086013567ffffffffffffffff81111561277e578182fd5b6000806040838503121561286f578182fd5b823561287a81612fcf565b9150602083013561259f81612ff4565b6000806000806080858703121561289f578182fd5b84356128aa81612fcf565b935060208501359250604085013567ffffffffffffffff808211156128cd578384fd5b6128d9888389016123ea565b935060608701359150808211156128ee578283fd5b506128fb878288016123ea565b91505092959194509250565b60008060408385031215612919578182fd5b823561292481612fcf565b946020939093013593505050565b60008060408385031215612944578182fd5b823567ffffffffffffffff8082111561295b578384fd5b818501915085601f83011261296e578384fd5b813561297c61239a82612f41565b80828252602080830192508086018a82838702890101111561299c578889fd5b8896505b848710156129c75780356129b381612fcf565b8452600196909601959281019281016129a0565b5090965087013593505050808211156129de578283fd5b506129eb8582860161237c565b9150509250929050565b600060208284031215612a06578081fd5b81516121d181612ff4565b600060208284031215612a22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146121d1578182fd5b60008060408385031215612a63578182fd5b825167ffffffffffffffff80821115612a7a578384fd5b612a8686838701612438565b93506020850151915080821115612a9b578283fd5b506129eb85828601612438565b600060208284031215612ab9578081fd5b815167ffffffffffffffff811115612acf578182fd5b61124284828501612485565b60008060408385031215612aed578182fd5b825167ffffffffffffffff80821115612b04578384fd5b612a8686838701612485565b815160009082906020808601845b83811015612b3a57815185529382019390820190600101612b1e565b50929695505050505050565b60008451612b58818460208901612f9f565b91909101928352506020820152604001919050565b60008451612b7f818460208901612f9f565b82018481528351612b97816020808501908801612f9f565b0160200195945050505050565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020808252825182820181905260009190848201906040850190845b81811015612c5257835183529284019291840191600101612c36565b50909695505050505050565b901515815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529290931660408501526060840152608083019190915260a082015260c00190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b60208082526033908201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60408201527f3a20494e56414c49445f524543495049454e5400000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f5349474e415455524500000000000000000000000000606082015260800190565b60208082526032908201527f455243313135354d657461235f7472616e736665724761734665653a2045524360408201527f32305f5452414e534645525f4641494c45440000000000000000000000000000606082015260800190565b60208082526038908201527f455243313135354d657461236d6574615361666542617463685472616e73666560408201527f7246726f6d3a20494e56414c49445f524543495049454e540000000000000000606082015260800190565b6020808252602f908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f4e4f4e43450000000000000000000000000000000000606082015260800190565b6020808252602e908201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360408201527f5550504f525445445f544f4b454e000000000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612f3957fe5b604052919050565b600067ffffffffffffffff821115612f5557fe5b5060209081020190565b600067ffffffffffffffff821115612f7357fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612fba578181015183820152602001612fa2565b83811115612fc9576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114612ff157600080fd5b50565b8015158114612ff157600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245444552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f524551554952454445524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e455245524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f524551554952454445524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147454c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a264697066735822122002700b9f81a865114dd07ad22986b9b47f4f93f240e2a43b2d36f492e38ab84664736f6c63430007040033", + "bytecode": "0x608060405234801561001057600080fd5b50613170806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e01c8063a3d4926e11610081578063f242432a1161005b578063f242432a1461020e578063f5d4c82014610221578063fa4e12d71461023457600080fd5b8063a3d4926e1461019f578063ce0b514b146101b2578063e985e9c5146101c557600080fd5b80632eb2c2d6116100b25780632eb2c2d6146101575780634e1273f41461016c578063a22cb4651461018c57600080fd5b8062fdd58e146100d857806301ffc9a7146100fe5780632d0335ab14610121575b600080fd5b6100eb6100e6366004612509565b610247565b6040519081526020015b60405180910390f35b61011161010c366004612563565b61027d565b60405190151581526020016100f5565b6100eb61012f366004612580565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b61016a610165366004612741565b61031a565b005b61017f61017a3660046127ef565b6104c3565b6040516100f591906128ec565b61016a61019a36600461290d565b610663565b61016a6101ad366004612946565b6106fa565b61016a6101c0366004612a07565b61092c565b6101116101d3366004612a81565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b61016a61021c366004612aaf565b610a9a565b61016a61022f366004612b18565b610c37565b610111610242366004612b87565b610d8e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007f264985da000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316016102d057506001919050565b7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610277565b3373ffffffffffffffffffffffffffffffffffffffff8616148061036e575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166104a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103f6565b6104ae858585856115d7565b6104bc858585855a8661183c565b5050505050565b60608151835114610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103f6565b6000835167ffffffffffffffff8111156105725761057261259d565b60405190808252806020026020018201604052801561059b578160200160208202803683370190505b50905060005b845181101561065b576000808683815181106105bf576105bf612c07565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061061557610615612c07565b602002602001015181526020019081526020016000205482828151811061063e5761063e612c07565b60209081029190910101528061065381612c65565b9150506105a1565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff851661079d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e54000000000000000060648201526084016103f6565b60606107e060405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006108c289857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c60405160200161081e9190612c9d565b604051602081830303815290604052805190602001208c6040516020016108459190612c9d565b604051602081830303815290604052805190602001208c61086757600061086a565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526119bb565b90506108d0898989896115d7565b841561091357808060200190518101906108ea9190612dcb565b80945081935050506109048989898986602001518861183c565b61090e8983611c4b565b610921565b610921898989895a8661183c565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff85166109cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e540000000000000000000000000060648201526084016103f6565b6060610a1260405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6000610a4a89857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c61086757600061086a565b9050610a5889898989611fbe565b8415610a8c5780806020019051810190610a729190612dcb565b8094508193505050610904898989898660200151886120a2565b610921898989895a866120a2565b3373ffffffffffffffffffffffffffffffffffffffff86161480610aee575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610b7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103f6565b73ffffffffffffffffffffffffffffffffffffffff8416610c1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103f6565b610c2985858585611fbe565b6104bc858585855a866120a2565b6000610cc286837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa524828989610c6d576000610c70565b60015b89610c7c576000610c7f565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016108ae565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a38215610d8657600081806020019051810190610d789190612e25565b9050610d848782611c4b565b505b505050505050565b600080825111610e46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a4016103f6565b73ffffffffffffffffffffffffffffffffffffffff8516610ee9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e45520000000000000000000000000060648201526084016103f6565b6000610ef483612221565b60f81c905060058110610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e415455524500000000000060648201526084016103f6565b60008160ff166005811115610fa057610fa0612e5a565b9050600080808080856005811115610fba57610fba612e5a565b03611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e41545552450000000000000000000060648201526084016103f6565b600185600581111561105b5761105b612e5a565b036111cd5787516061146110f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f524551554952454400000000000000000060648201526084016103f6565b6110fc886000612324565b9250611109886020612324565b91508760408151811061111e5761111e612c07565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa15801561117b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506115cf9650505050505050565b60028560058111156111e1576111e1612e5a565b03611347578751606114611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f524551554952454400000000000000000060648201526084016103f6565b611282886000612324565b925061128f886020612324565b9150876040815181106112a4576112a4612c07565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611159565b600385600581111561135b5761135b612e5a565b03611447576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b906113b4908c908c90600401612ed3565b602060405180830381865afa1580156113d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f59190612f01565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b000000000000000000000000000000000000000000000000000000001496506115cf95505050505050565b600485600581111561145b5761145b612e5a565b03611547576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e906114b4908d908c90600401612f1e565b602060405180830381865afa1580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f59190612f01565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e000000000000000000000000000000000000000000000000000000001496506115cf95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e415455524500000000000060648201526084016103f6565b949350505050565b8051825114611668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103f6565b815160005b818110156117b65782818151811061168757611687612c07565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106116e1576116e1612c07565b6020026020010151815260200190815260200160002060008282546117069190612f37565b9250508190555082818151811061171f5761171f612c07565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061177957611779612c07565b60200260200101518152602001908152602001600020600082825461179e9190612f4a565b909155508190506117ae81612c65565b91505061166d565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161182d929190612f5d565b60405180910390a45050505050565b61185b8573ffffffffffffffffffffffffffffffffffffffff166123d7565b15610d865760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016118a4959493929190612f82565b60206040518083038160008887f11580156118c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118e89190612f01565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610d84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103f6565b606080838060200190518101906119d29190612fed565b73ffffffffffffffffffffffffffffffffffffffff871660009081526002602052604081205491945091925090611a0a836041612324565b9050818110801590611a255750611a22826064612f4a565b81105b611ab1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e4345000000000000000000000000000000000060648201526084016103f6565b6000611aed86838780519060200120604051602001611ad293929190613024565b60405160208183030381529060405280519060200120612411565b90506000868387604051602001611b069392919061304b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050611b41836001612f4a565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59611b96856001612f4a565b60405190815260200160405180910390a2611bb389838388610d8e565b611c3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e41545552450000000000000000000000000060648201526084016103f6565b50505050509392505050565b6000611c5a8260600151612221565b60f81c905060028110611cef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e00000000000000000000000000000000000060648201526084016103f6565b60008160ff166002811115611d0657611d06612e5a565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615611d3c578660400151611d3e565b335b92506000856002811115611d5457611d54612e5a565b03611e6b578660600151806020019051810190611d719190613082565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603611dc157611d9f88848484611fbe565b611dbc8884845a85604051806020016040528060008152506120a2565b611fb4565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b158015611e4e57600080fd5b505af1158015611e62573d6000803e3d6000fd5b50505050611fb4565b8660600151806020019051810190611e8391906130b0565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015611f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2891906130cd565b611fb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c4544000000000000000000000000000060648201526084016103f6565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290611ffc908490612f37565b909155505073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083208584529091528120805483929061203f908490612f4a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b6120c18573ffffffffffffffffffffffffffffffffffffffff166123d7565b15610d865760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b815260040161210a9594939291906130ea565b60206040518083038160008887f1158015612129573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061214e9190612f01565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610d84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103f6565b6000808251116122b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f524551554952454400000000000000000060648201526084016103f6565b81600183516122c29190612f37565b815181106122d2576122d2612c07565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000612331826020612f4a565b835110156123c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f52455155495245440000000060648201526084016103f6565b6123cc602083612f4a565b929092015192915050565b6000813f801580159061240a57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b3060405160200161249e92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016124c793929190613024565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461250657600080fd5b50565b6000806040838503121561251c57600080fd5b8235612527816124e4565b946020939093013593505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461250657600080fd5b60006020828403121561257557600080fd5b813561240a81612535565b60006020828403121561259257600080fd5b813561240a816124e4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156126135761261361259d565b604052919050565b600067ffffffffffffffff8211156126355761263561259d565b5060051b60200190565b600082601f83011261265057600080fd5b813560206126656126608361261b565b6125cc565b82815260059290921b8401810191818101908684111561268457600080fd5b8286015b8481101561269f5780358352918301918301612688565b509695505050505050565b600067ffffffffffffffff8211156126c4576126c461259d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261270157600080fd5b813561270f612660826126aa565b81815284602083860101111561272457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561275957600080fd5b8535612764816124e4565b94506020860135612774816124e4565b9350604086013567ffffffffffffffff8082111561279157600080fd5b61279d89838a0161263f565b945060608801359150808211156127b357600080fd5b6127bf89838a0161263f565b935060808801359150808211156127d557600080fd5b506127e2888289016126f0565b9150509295509295909350565b6000806040838503121561280257600080fd5b823567ffffffffffffffff8082111561281a57600080fd5b818501915085601f83011261282e57600080fd5b8135602061283e6126608361261b565b82815260059290921b8401810191818101908984111561285d57600080fd5b948201945b83861015612884578535612875816124e4565b82529482019490820190612862565b9650508601359250508082111561289a57600080fd5b506128a78582860161263f565b9150509250929050565b600081518084526020808501945080840160005b838110156128e1578151875295820195908201906001016128c5565b509495945050505050565b60208152600061240a60208301846128b1565b801515811461250657600080fd5b6000806040838503121561292057600080fd5b823561292b816124e4565b9150602083013561293b816128ff565b809150509250929050565b60008060008060008060c0878903121561295f57600080fd5b863561296a816124e4565b9550602087013561297a816124e4565b9450604087013567ffffffffffffffff8082111561299757600080fd5b6129a38a838b0161263f565b955060608901359150808211156129b957600080fd5b6129c58a838b0161263f565b9450608089013591506129d7826128ff565b90925060a088013590808211156129ed57600080fd5b506129fa89828a016126f0565b9150509295509295509295565b60008060008060008060c08789031215612a2057600080fd5b8635612a2b816124e4565b95506020870135612a3b816124e4565b945060408701359350606087013592506080870135612a59816128ff565b915060a087013567ffffffffffffffff811115612a7557600080fd5b6129fa89828a016126f0565b60008060408385031215612a9457600080fd5b8235612a9f816124e4565b9150602083013561293b816124e4565b600080600080600060a08688031215612ac757600080fd5b8535612ad2816124e4565b94506020860135612ae2816124e4565b93506040860135925060608601359150608086013567ffffffffffffffff811115612b0c57600080fd5b6127e2888289016126f0565b600080600080600060a08688031215612b3057600080fd5b8535612b3b816124e4565b94506020860135612b4b816124e4565b93506040860135612b5b816128ff565b92506060860135612b6b816128ff565b9150608086013567ffffffffffffffff811115612b0c57600080fd5b60008060008060808587031215612b9d57600080fd5b8435612ba8816124e4565b935060208501359250604085013567ffffffffffffffff80821115612bcc57600080fd5b612bd8888389016126f0565b93506060870135915080821115612bee57600080fd5b50612bfb878288016126f0565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c9657612c96612c36565b5060010190565b815160009082906020808601845b83811015612cc757815185529382019390820190600101612cab565b50929695505050505050565b60005b83811015612cee578181015183820152602001612cd6565b50506000910152565b600082601f830112612d0857600080fd5b8151612d16612660826126aa565b818152846020838601011115612d2b57600080fd5b6115cf826020830160208701612cd3565b600060808284031215612d4e57600080fd5b6040516080810167ffffffffffffffff8282108183111715612d7257612d7261259d565b81604052829350845183526020850151602084015260408501519150612d97826124e4565b8160408401526060850151915080821115612db157600080fd5b50612dbe85828601612cf7565b6060830152505092915050565b60008060408385031215612dde57600080fd5b825167ffffffffffffffff80821115612df657600080fd5b612e0286838701612d3c565b93506020850151915080821115612e1857600080fd5b506128a785828601612cf7565b600060208284031215612e3757600080fd5b815167ffffffffffffffff811115612e4e57600080fd5b6115cf84828501612d3c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452612ea1816020860160208601612cd3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000612ee66040830185612e89565b8281036020840152612ef88185612e89565b95945050505050565b600060208284031215612f1357600080fd5b815161240a81612535565b8281526040602082015260006115cf6040830184612e89565b8181038181111561027757610277612c36565b8082018082111561027757610277612c36565b604081526000612f7060408301856128b1565b8281036020840152612ef881856128b1565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152612fbb60a08301866128b1565b8281036060840152612fcd81866128b1565b90508281036080840152612fe18185612e89565b98975050505050505050565b6000806040838503121561300057600080fd5b825167ffffffffffffffff8082111561301857600080fd5b612e0286838701612cf7565b60008451613036818460208901612cd3565b91909101928352506020820152604001919050565b6000845161305d818460208901612cd3565b82018481528351613075816020808501908801612cd3565b0160200195945050505050565b6000806040838503121561309557600080fd5b82516130a0816124e4565b6020939093015192949293505050565b6000602082840312156130c257600080fd5b815161240a816124e4565b6000602082840312156130df57600080fd5b815161240a816128ff565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261312f60a0830184612e89565b97965050505050505056fea26469706673582212201a042d912556a4b9f9b9b10ef70ca2293c7fd38415176f6fface57351dd409ae64736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d35760003560e01c8063a3d4926e11610081578063f242432a1161005b578063f242432a1461020e578063f5d4c82014610221578063fa4e12d71461023457600080fd5b8063a3d4926e1461019f578063ce0b514b146101b2578063e985e9c5146101c557600080fd5b80632eb2c2d6116100b25780632eb2c2d6146101575780634e1273f41461016c578063a22cb4651461018c57600080fd5b8062fdd58e146100d857806301ffc9a7146100fe5780632d0335ab14610121575b600080fd5b6100eb6100e6366004612509565b610247565b6040519081526020015b60405180910390f35b61011161010c366004612563565b61027d565b60405190151581526020016100f5565b6100eb61012f366004612580565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b61016a610165366004612741565b61031a565b005b61017f61017a3660046127ef565b6104c3565b6040516100f591906128ec565b61016a61019a36600461290d565b610663565b61016a6101ad366004612946565b6106fa565b61016a6101c0366004612a07565b61092c565b6101116101d3366004612a81565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b61016a61021c366004612aaf565b610a9a565b61016a61022f366004612b18565b610c37565b610111610242366004612b87565b610d8e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007f264985da000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316016102d057506001919050565b7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610277565b3373ffffffffffffffffffffffffffffffffffffffff8616148061036e575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166104a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103f6565b6104ae858585856115d7565b6104bc858585855a8661183c565b5050505050565b60608151835114610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103f6565b6000835167ffffffffffffffff8111156105725761057261259d565b60405190808252806020026020018201604052801561059b578160200160208202803683370190505b50905060005b845181101561065b576000808683815181106105bf576105bf612c07565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061061557610615612c07565b602002602001015181526020019081526020016000205482828151811061063e5761063e612c07565b60209081029190910101528061065381612c65565b9150506105a1565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff851661079d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e54000000000000000060648201526084016103f6565b60606107e060405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006108c289857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c60405160200161081e9190612c9d565b604051602081830303815290604052805190602001208c6040516020016108459190612c9d565b604051602081830303815290604052805190602001208c61086757600061086a565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526119bb565b90506108d0898989896115d7565b841561091357808060200190518101906108ea9190612dcb565b80945081935050506109048989898986602001518861183c565b61090e8983611c4b565b610921565b610921898989895a8661183c565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff85166109cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e540000000000000000000000000060648201526084016103f6565b6060610a1260405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6000610a4a89857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c61086757600061086a565b9050610a5889898989611fbe565b8415610a8c5780806020019051810190610a729190612dcb565b8094508193505050610904898989898660200151886120a2565b610921898989895a866120a2565b3373ffffffffffffffffffffffffffffffffffffffff86161480610aee575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610b7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103f6565b73ffffffffffffffffffffffffffffffffffffffff8416610c1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103f6565b610c2985858585611fbe565b6104bc858585855a866120a2565b6000610cc286837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa524828989610c6d576000610c70565b60015b89610c7c576000610c7f565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016108ae565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a38215610d8657600081806020019051810190610d789190612e25565b9050610d848782611c4b565b505b505050505050565b600080825111610e46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a4016103f6565b73ffffffffffffffffffffffffffffffffffffffff8516610ee9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e45520000000000000000000000000060648201526084016103f6565b6000610ef483612221565b60f81c905060058110610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e415455524500000000000060648201526084016103f6565b60008160ff166005811115610fa057610fa0612e5a565b9050600080808080856005811115610fba57610fba612e5a565b03611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e41545552450000000000000000000060648201526084016103f6565b600185600581111561105b5761105b612e5a565b036111cd5787516061146110f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f524551554952454400000000000000000060648201526084016103f6565b6110fc886000612324565b9250611109886020612324565b91508760408151811061111e5761111e612c07565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa15801561117b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506115cf9650505050505050565b60028560058111156111e1576111e1612e5a565b03611347578751606114611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f524551554952454400000000000000000060648201526084016103f6565b611282886000612324565b925061128f886020612324565b9150876040815181106112a4576112a4612c07565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611159565b600385600581111561135b5761135b612e5a565b03611447576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b906113b4908c908c90600401612ed3565b602060405180830381865afa1580156113d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f59190612f01565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b000000000000000000000000000000000000000000000000000000001496506115cf95505050505050565b600485600581111561145b5761145b612e5a565b03611547576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e906114b4908d908c90600401612f1e565b602060405180830381865afa1580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f59190612f01565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e000000000000000000000000000000000000000000000000000000001496506115cf95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e415455524500000000000060648201526084016103f6565b949350505050565b8051825114611668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103f6565b815160005b818110156117b65782818151811061168757611687612c07565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106116e1576116e1612c07565b6020026020010151815260200190815260200160002060008282546117069190612f37565b9250508190555082818151811061171f5761171f612c07565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061177957611779612c07565b60200260200101518152602001908152602001600020600082825461179e9190612f4a565b909155508190506117ae81612c65565b91505061166d565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161182d929190612f5d565b60405180910390a45050505050565b61185b8573ffffffffffffffffffffffffffffffffffffffff166123d7565b15610d865760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016118a4959493929190612f82565b60206040518083038160008887f11580156118c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118e89190612f01565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610d84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103f6565b606080838060200190518101906119d29190612fed565b73ffffffffffffffffffffffffffffffffffffffff871660009081526002602052604081205491945091925090611a0a836041612324565b9050818110801590611a255750611a22826064612f4a565b81105b611ab1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e4345000000000000000000000000000000000060648201526084016103f6565b6000611aed86838780519060200120604051602001611ad293929190613024565b60405160208183030381529060405280519060200120612411565b90506000868387604051602001611b069392919061304b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050611b41836001612f4a565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59611b96856001612f4a565b60405190815260200160405180910390a2611bb389838388610d8e565b611c3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e41545552450000000000000000000000000060648201526084016103f6565b50505050509392505050565b6000611c5a8260600151612221565b60f81c905060028110611cef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e00000000000000000000000000000000000060648201526084016103f6565b60008160ff166002811115611d0657611d06612e5a565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615611d3c578660400151611d3e565b335b92506000856002811115611d5457611d54612e5a565b03611e6b578660600151806020019051810190611d719190613082565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603611dc157611d9f88848484611fbe565b611dbc8884845a85604051806020016040528060008152506120a2565b611fb4565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b158015611e4e57600080fd5b505af1158015611e62573d6000803e3d6000fd5b50505050611fb4565b8660600151806020019051810190611e8391906130b0565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015611f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2891906130cd565b611fb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c4544000000000000000000000000000060648201526084016103f6565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290611ffc908490612f37565b909155505073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083208584529091528120805483929061203f908490612f4a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b6120c18573ffffffffffffffffffffffffffffffffffffffff166123d7565b15610d865760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b815260040161210a9594939291906130ea565b60206040518083038160008887f1158015612129573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061214e9190612f01565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610d84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103f6565b6000808251116122b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f524551554952454400000000000000000060648201526084016103f6565b81600183516122c29190612f37565b815181106122d2576122d2612c07565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000612331826020612f4a565b835110156123c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f52455155495245440000000060648201526084016103f6565b6123cc602083612f4a565b929092015192915050565b6000813f801580159061240a57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b3060405160200161249e92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016124c793929190613024565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461250657600080fd5b50565b6000806040838503121561251c57600080fd5b8235612527816124e4565b946020939093013593505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461250657600080fd5b60006020828403121561257557600080fd5b813561240a81612535565b60006020828403121561259257600080fd5b813561240a816124e4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156126135761261361259d565b604052919050565b600067ffffffffffffffff8211156126355761263561259d565b5060051b60200190565b600082601f83011261265057600080fd5b813560206126656126608361261b565b6125cc565b82815260059290921b8401810191818101908684111561268457600080fd5b8286015b8481101561269f5780358352918301918301612688565b509695505050505050565b600067ffffffffffffffff8211156126c4576126c461259d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261270157600080fd5b813561270f612660826126aa565b81815284602083860101111561272457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561275957600080fd5b8535612764816124e4565b94506020860135612774816124e4565b9350604086013567ffffffffffffffff8082111561279157600080fd5b61279d89838a0161263f565b945060608801359150808211156127b357600080fd5b6127bf89838a0161263f565b935060808801359150808211156127d557600080fd5b506127e2888289016126f0565b9150509295509295909350565b6000806040838503121561280257600080fd5b823567ffffffffffffffff8082111561281a57600080fd5b818501915085601f83011261282e57600080fd5b8135602061283e6126608361261b565b82815260059290921b8401810191818101908984111561285d57600080fd5b948201945b83861015612884578535612875816124e4565b82529482019490820190612862565b9650508601359250508082111561289a57600080fd5b506128a78582860161263f565b9150509250929050565b600081518084526020808501945080840160005b838110156128e1578151875295820195908201906001016128c5565b509495945050505050565b60208152600061240a60208301846128b1565b801515811461250657600080fd5b6000806040838503121561292057600080fd5b823561292b816124e4565b9150602083013561293b816128ff565b809150509250929050565b60008060008060008060c0878903121561295f57600080fd5b863561296a816124e4565b9550602087013561297a816124e4565b9450604087013567ffffffffffffffff8082111561299757600080fd5b6129a38a838b0161263f565b955060608901359150808211156129b957600080fd5b6129c58a838b0161263f565b9450608089013591506129d7826128ff565b90925060a088013590808211156129ed57600080fd5b506129fa89828a016126f0565b9150509295509295509295565b60008060008060008060c08789031215612a2057600080fd5b8635612a2b816124e4565b95506020870135612a3b816124e4565b945060408701359350606087013592506080870135612a59816128ff565b915060a087013567ffffffffffffffff811115612a7557600080fd5b6129fa89828a016126f0565b60008060408385031215612a9457600080fd5b8235612a9f816124e4565b9150602083013561293b816124e4565b600080600080600060a08688031215612ac757600080fd5b8535612ad2816124e4565b94506020860135612ae2816124e4565b93506040860135925060608601359150608086013567ffffffffffffffff811115612b0c57600080fd5b6127e2888289016126f0565b600080600080600060a08688031215612b3057600080fd5b8535612b3b816124e4565b94506020860135612b4b816124e4565b93506040860135612b5b816128ff565b92506060860135612b6b816128ff565b9150608086013567ffffffffffffffff811115612b0c57600080fd5b60008060008060808587031215612b9d57600080fd5b8435612ba8816124e4565b935060208501359250604085013567ffffffffffffffff80821115612bcc57600080fd5b612bd8888389016126f0565b93506060870135915080821115612bee57600080fd5b50612bfb878288016126f0565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c9657612c96612c36565b5060010190565b815160009082906020808601845b83811015612cc757815185529382019390820190600101612cab565b50929695505050505050565b60005b83811015612cee578181015183820152602001612cd6565b50506000910152565b600082601f830112612d0857600080fd5b8151612d16612660826126aa565b818152846020838601011115612d2b57600080fd5b6115cf826020830160208701612cd3565b600060808284031215612d4e57600080fd5b6040516080810167ffffffffffffffff8282108183111715612d7257612d7261259d565b81604052829350845183526020850151602084015260408501519150612d97826124e4565b8160408401526060850151915080821115612db157600080fd5b50612dbe85828601612cf7565b6060830152505092915050565b60008060408385031215612dde57600080fd5b825167ffffffffffffffff80821115612df657600080fd5b612e0286838701612d3c565b93506020850151915080821115612e1857600080fd5b506128a785828601612cf7565b600060208284031215612e3757600080fd5b815167ffffffffffffffff811115612e4e57600080fd5b6115cf84828501612d3c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452612ea1816020860160208601612cd3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000612ee66040830185612e89565b8281036020840152612ef88185612e89565b95945050505050565b600060208284031215612f1357600080fd5b815161240a81612535565b8281526040602082015260006115cf6040830184612e89565b8181038181111561027757610277612c36565b8082018082111561027757610277612c36565b604081526000612f7060408301856128b1565b8281036020840152612ef881856128b1565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152612fbb60a08301866128b1565b8281036060840152612fcd81866128b1565b90508281036080840152612fe18185612e89565b98975050505050505050565b6000806040838503121561300057600080fd5b825167ffffffffffffffff8082111561301857600080fd5b612e0286838701612cf7565b60008451613036818460208901612cd3565b91909101928352506020820152604001919050565b6000845161305d818460208901612cd3565b82018481528351613075816020808501908801612cd3565b0160200195945050505050565b6000806040838503121561309557600080fd5b82516130a0816124e4565b6020939093015192949293505050565b6000602082840312156130c257600080fd5b815161240a816124e4565b6000602082840312156130df57600080fd5b815161240a816128ff565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261312f60a0830184612e89565b97965050505050505056fea26469706673582212201a042d912556a4b9f9b9b10ef70ca2293c7fd38415176f6fface57351dd409ae64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155MintBurn.sol/ERC1155MintBurn.json b/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155MintBurn.sol/ERC1155MintBurn.json index 7d966f3..43655c6 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155MintBurn.sol/ERC1155MintBurn.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/tokens/ERC1155/ERC1155MintBurn.sol/ERC1155MintBurn.json @@ -278,8 +278,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611677806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146102f5578063a22cb4651461046c578063e985e9c5146104a7578063f242432a146104e25761007c565b8062fdd58e1461008157806301ffc9a7146100cc5780632eb2c2d61461011f575b600080fd5b6100ba6004803603604081101561009757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356105ba565b60408051918252519081900360200190f35b61010b600480360360208110156100e257600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166105ed565b604080519115158252519081900360200190f35b6102f3600480360360a081101561013557600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169181019060608101604082013564010000000081111561017657600080fd5b82018360208201111561018857600080fd5b803590602001918460208302840111640100000000831117156101aa57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184602083028401116401000000008311171561022e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460018302840111640100000000831117156102b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610652945050505050565b005b61041c6004803603604081101561030b57600080fd5b81019060208101813564010000000081111561032657600080fd5b82018360208201111561033857600080fd5b8035906020019184602083028401116401000000008311171561035a57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103aa57600080fd5b8201836020820111156103bc57600080fd5b803590602001918460208302840111640100000000831117156103de57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061075d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610458578181015183820152602001610440565b505050509050019250505060405180910390f35b6102f36004803603604081101561048257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156108a9565b61010b600480360360408110156104bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610942565b6102f3600480360360a08110156104f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561054557600080fd5b82018360208201111561055757600080fd5b8035906020019184600183028401116401000000008311171561057957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061097d945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014156106415750600161064d565b61064a82610a81565b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061067b575061067b8533610942565b6106d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061159a602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061153e6030913960400191505060405180910390fd5b61074885858585610acb565b610756858585855a86610e1f565b5050505050565b606081518351146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061156e602c913960400191505060405180910390fd5b6060835167ffffffffffffffff811180156107d357600080fd5b506040519080825280602002602001820160405280156107fd578160200160208202803683370190505b50905060005b84518110156108a15760008086838151811061081b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061086b57fe5b602002602001015181526020019081526020016000205482828151811061088e57fe5b6020908102919091010152600101610803565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff861614806109a657506109a68533610942565b6109fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806114b4602b913960400191505060405180910390fd5b610a7385858585611096565b610756858585855a86611199565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b8051825114610b25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806115096035913960400191505060405180910390fd5b815160005b81811015610d1757610bba838281518110610b4157fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610b9557fe5b602002602001015181526020019081526020016000205461138a90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610c0657fe5b6020026020010151815260200190815260200160002081905550610ca8838281518110610c2f57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610c8357fe5b602002602001015181526020019081526020016000205461140190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610cf457fe5b602090810291909101810151825281019190915260400160002055600101610b2a565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610dc4578181015183820152602001610dac565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610e03578181015183820152602001610deb565b5050505090500194505050505060405180910390a45050505050565b610e3e8573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610ef6578181015183820152602001610ede565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610f35578181015183820152602001610f1d565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015610f71578181015183820152602001610f59565b50505050905090810190601f168015610f9e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015610fc357600080fd5b5087f1158015610fd7573d6000803e3d6000fd5b50505050506040513d6020811015610fee57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806115c9603f913960400191505060405180910390fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546110cf908261138a565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461111f9082611401565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6111b88573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611271578181015183820152602001611259565b50505050905090810190601f16801561129e5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156112c157600080fd5b5087f11580156112d5573d6000803e3d6000fd5b50505050506040513d60208110156112ec57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611608603a913960400191505060405180910390fd5b6000828211156113fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561147557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000813f801580159061147557507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47014159291505056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a264697066735822122073a85ff635285a8acf94aa1d40411a1dc7941a314e4851aeca2833019758043464736f6c63430007040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146102f5578063a22cb4651461046c578063e985e9c5146104a7578063f242432a146104e25761007c565b8062fdd58e1461008157806301ffc9a7146100cc5780632eb2c2d61461011f575b600080fd5b6100ba6004803603604081101561009757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356105ba565b60408051918252519081900360200190f35b61010b600480360360208110156100e257600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166105ed565b604080519115158252519081900360200190f35b6102f3600480360360a081101561013557600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169181019060608101604082013564010000000081111561017657600080fd5b82018360208201111561018857600080fd5b803590602001918460208302840111640100000000831117156101aa57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184602083028401116401000000008311171561022e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460018302840111640100000000831117156102b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610652945050505050565b005b61041c6004803603604081101561030b57600080fd5b81019060208101813564010000000081111561032657600080fd5b82018360208201111561033857600080fd5b8035906020019184602083028401116401000000008311171561035a57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103aa57600080fd5b8201836020820111156103bc57600080fd5b803590602001918460208302840111640100000000831117156103de57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061075d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610458578181015183820152602001610440565b505050509050019250505060405180910390f35b6102f36004803603604081101561048257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156108a9565b61010b600480360360408110156104bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610942565b6102f3600480360360a08110156104f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561054557600080fd5b82018360208201111561055757600080fd5b8035906020019184600183028401116401000000008311171561057957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061097d945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014156106415750600161064d565b61064a82610a81565b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061067b575061067b8533610942565b6106d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061159a602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061153e6030913960400191505060405180910390fd5b61074885858585610acb565b610756858585855a86610e1f565b5050505050565b606081518351146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061156e602c913960400191505060405180910390fd5b6060835167ffffffffffffffff811180156107d357600080fd5b506040519080825280602002602001820160405280156107fd578160200160208202803683370190505b50905060005b84518110156108a15760008086838151811061081b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061086b57fe5b602002602001015181526020019081526020016000205482828151811061088e57fe5b6020908102919091010152600101610803565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff861614806109a657506109a68533610942565b6109fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806114b4602b913960400191505060405180910390fd5b610a7385858585611096565b610756858585855a86611199565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b8051825114610b25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806115096035913960400191505060405180910390fd5b815160005b81811015610d1757610bba838281518110610b4157fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610b9557fe5b602002602001015181526020019081526020016000205461138a90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610c0657fe5b6020026020010151815260200190815260200160002081905550610ca8838281518110610c2f57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610c8357fe5b602002602001015181526020019081526020016000205461140190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610cf457fe5b602090810291909101810151825281019190915260400160002055600101610b2a565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610dc4578181015183820152602001610dac565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610e03578181015183820152602001610deb565b5050505090500194505050505060405180910390a45050505050565b610e3e8573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610ef6578181015183820152602001610ede565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610f35578181015183820152602001610f1d565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015610f71578181015183820152602001610f59565b50505050905090810190601f168015610f9e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015610fc357600080fd5b5087f1158015610fd7573d6000803e3d6000fd5b50505050506040513d6020811015610fee57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806115c9603f913960400191505060405180910390fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546110cf908261138a565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461111f9082611401565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6111b88573ffffffffffffffffffffffffffffffffffffffff1661147c565b1561108e5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611271578181015183820152602001611259565b50505050905090810190601f16801561129e5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156112c157600080fd5b5087f11580156112d5573d6000803e3d6000fd5b50505050506040513d60208110156112ec57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611608603a913960400191505060405180910390fd5b6000828211156113fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561147557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000813f801580159061147557507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47014159291505056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a264697066735822122073a85ff635285a8acf94aa1d40411a1dc7941a314e4851aeca2833019758043464736f6c63430007040033", + "bytecode": "0x608060405234801561001057600080fd5b5061156d806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146100df578063a22cb465146100ff578063e985e9c514610112578063f242432a1461015b57600080fd5b8062fdd58e1461008157806301ffc9a7146100a75780632eb2c2d6146100ca575b600080fd5b61009461008f366004610e72565b61016e565b6040519081526020015b60405180910390f35b6100ba6100b5366004610ecd565b6101a4565b604051901515815260200161009e565b6100dd6100d8366004611085565b610241565b005b6100f26100ed36600461112f565b6103ea565b60405161009e919061122a565b6100dd61010d36600461123d565b61058a565b6100ba610120366004611279565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6100dd6101693660046112ac565b610621565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007f264985da000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316016101f757506001919050565b7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461019e565b3373ffffffffffffffffffffffffffffffffffffffff86161480610295575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e5400000000000000000000000000000000606482015260840161031d565b6103d5858585856107be565b6103e3858585855a86610a23565b5050505050565b6060815183511461047d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e4754480000000000000000000000000000000000000000606482015260840161031d565b6000835167ffffffffffffffff81111561049957610499610eea565b6040519080825280602002602001820160405280156104c2578160200160208202803683370190505b50905060005b8451811015610582576000808683815181106104e6576104e6611311565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061053c5761053c611311565b602002602001015181526020019081526020016000205482828151811061056557610565611311565b60209081029190910101528061057a8161136f565b9150506104c8565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610675575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f5200000000000000000000000000000000000000000000606482015260840161031d565b73ffffffffffffffffffffffffffffffffffffffff84166107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e54000000000000000000000000000000000000000000606482015260840161031d565b6107b085858585610bac565b6103e3858585855a86610c90565b805182511461084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e4754480000000000000000000000606482015260840161031d565b815160005b8181101561099d5782818151811061086e5761086e611311565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106108c8576108c8611311565b6020026020010151815260200190815260200160002060008282546108ed91906113a7565b9250508190555082818151811061090657610906611311565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061096057610960611311565b60200260200101518152602001908152602001600020600082825461098591906113ba565b909155508190506109958161136f565b915050610854565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610a149291906113cd565b60405180910390a45050505050565b610a428573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401610a8b95949392919061145f565b60206040518083038160008887f1158015610aaa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610acf91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474500606482015260840161031d565b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290610bea9084906113a7565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290610c2d9084906113ba565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b610caf8573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401610cf89594939291906114e7565b60206040518083038160008887f1158015610d17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d3c91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000606482015260840161031d565b6000813f8015801590610e4257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e6d57600080fd5b919050565b60008060408385031215610e8557600080fd5b610e8e83610e49565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610eca57600080fd5b50565b600060208284031215610edf57600080fd5b8135610e4281610e9c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6057610f60610eea565b604052919050565b600067ffffffffffffffff821115610f8257610f82610eea565b5060051b60200190565b600082601f830112610f9d57600080fd5b81356020610fb2610fad83610f68565b610f19565b82815260059290921b84018101918181019086841115610fd157600080fd5b8286015b84811015610fec5780358352918301918301610fd5565b509695505050505050565b600082601f83011261100857600080fd5b813567ffffffffffffffff81111561102257611022610eea565b61105360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610f19565b81815284602083860101111561106857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561109d57600080fd5b6110a686610e49565b94506110b460208701610e49565b9350604086013567ffffffffffffffff808211156110d157600080fd5b6110dd89838a01610f8c565b945060608801359150808211156110f357600080fd5b6110ff89838a01610f8c565b9350608088013591508082111561111557600080fd5b5061112288828901610ff7565b9150509295509295909350565b6000806040838503121561114257600080fd5b823567ffffffffffffffff8082111561115a57600080fd5b818501915085601f83011261116e57600080fd5b8135602061117e610fad83610f68565b82815260059290921b8401810191818101908984111561119d57600080fd5b948201945b838610156111c2576111b386610e49565b825294820194908201906111a2565b965050860135925050808211156111d857600080fd5b506111e585828601610f8c565b9150509250929050565b600081518084526020808501945080840160005b8381101561121f57815187529582019590820190600101611203565b509495945050505050565b602081526000610e4260208301846111ef565b6000806040838503121561125057600080fd5b61125983610e49565b91506020830135801515811461126e57600080fd5b809150509250929050565b6000806040838503121561128c57600080fd5b61129583610e49565b91506112a360208401610e49565b90509250929050565b600080600080600060a086880312156112c457600080fd5b6112cd86610e49565b94506112db60208701610e49565b93506040860135925060608601359150608086013567ffffffffffffffff81111561130557600080fd5b61112288828901610ff7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113a0576113a0611340565b5060010190565b8181038181111561019e5761019e611340565b8082018082111561019e5761019e611340565b6040815260006113e060408301856111ef565b82810360208401526113f281856111ef565b95945050505050565b6000815180845260005b8181101561142157602081850181015186830182015201611405565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261149860a08301866111ef565b82810360608401526114aa81866111ef565b905082810360808401526114be81856113fb565b98975050505050505050565b6000602082840312156114dc57600080fd5b8151610e4281610e9c565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261152c60a08301846113fb565b97965050505050505056fea264697066735822122031132aca26a54ea0b740051f0d086b1b3e0de16d4c83d09746e5f4917566f9bf64736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f4146100df578063a22cb465146100ff578063e985e9c514610112578063f242432a1461015b57600080fd5b8062fdd58e1461008157806301ffc9a7146100a75780632eb2c2d6146100ca575b600080fd5b61009461008f366004610e72565b61016e565b6040519081526020015b60405180910390f35b6100ba6100b5366004610ecd565b6101a4565b604051901515815260200161009e565b6100dd6100d8366004611085565b610241565b005b6100f26100ed36600461112f565b6103ea565b60405161009e919061122a565b6100dd61010d36600461123d565b61058a565b6100ba610120366004611279565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6100dd6101693660046112ac565b610621565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007f264985da000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316016101f757506001919050565b7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461019e565b3373ffffffffffffffffffffffffffffffffffffffff86161480610295575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e5400000000000000000000000000000000606482015260840161031d565b6103d5858585856107be565b6103e3858585855a86610a23565b5050505050565b6060815183511461047d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e4754480000000000000000000000000000000000000000606482015260840161031d565b6000835167ffffffffffffffff81111561049957610499610eea565b6040519080825280602002602001820160405280156104c2578160200160208202803683370190505b50905060005b8451811015610582576000808683815181106104e6576104e6611311565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085838151811061053c5761053c611311565b602002602001015181526020019081526020016000205482828151811061056557610565611311565b60209081029190910101528061057a8161136f565b9150506104c8565b509392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610675575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610701576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f5200000000000000000000000000000000000000000000606482015260840161031d565b73ffffffffffffffffffffffffffffffffffffffff84166107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e54000000000000000000000000000000000000000000606482015260840161031d565b6107b085858585610bac565b6103e3858585855a86610c90565b805182511461084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e4754480000000000000000000000606482015260840161031d565b815160005b8181101561099d5782818151811061086e5761086e611311565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106108c8576108c8611311565b6020026020010151815260200190815260200160002060008282546108ed91906113a7565b9250508190555082818151811061090657610906611311565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061096057610960611311565b60200260200101518152602001908152602001600020600082825461098591906113ba565b909155508190506109958161136f565b915050610854565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610a149291906113cd565b60405180910390a45050505050565b610a428573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401610a8b95949392919061145f565b60206040518083038160008887f1158015610aaa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610acf91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474500606482015260840161031d565b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290610bea9084906113a7565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290610c2d9084906113ba565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b610caf8573ffffffffffffffffffffffffffffffffffffffff16610e0f565b15610ba45760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401610cf89594939291906114e7565b60206040518083038160008887f1158015610d17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d3c91906114ca565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000606482015260840161031d565b6000813f8015801590610e4257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e6d57600080fd5b919050565b60008060408385031215610e8557600080fd5b610e8e83610e49565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610eca57600080fd5b50565b600060208284031215610edf57600080fd5b8135610e4281610e9c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6057610f60610eea565b604052919050565b600067ffffffffffffffff821115610f8257610f82610eea565b5060051b60200190565b600082601f830112610f9d57600080fd5b81356020610fb2610fad83610f68565b610f19565b82815260059290921b84018101918181019086841115610fd157600080fd5b8286015b84811015610fec5780358352918301918301610fd5565b509695505050505050565b600082601f83011261100857600080fd5b813567ffffffffffffffff81111561102257611022610eea565b61105360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610f19565b81815284602083860101111561106857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561109d57600080fd5b6110a686610e49565b94506110b460208701610e49565b9350604086013567ffffffffffffffff808211156110d157600080fd5b6110dd89838a01610f8c565b945060608801359150808211156110f357600080fd5b6110ff89838a01610f8c565b9350608088013591508082111561111557600080fd5b5061112288828901610ff7565b9150509295509295909350565b6000806040838503121561114257600080fd5b823567ffffffffffffffff8082111561115a57600080fd5b818501915085601f83011261116e57600080fd5b8135602061117e610fad83610f68565b82815260059290921b8401810191818101908984111561119d57600080fd5b948201945b838610156111c2576111b386610e49565b825294820194908201906111a2565b965050860135925050808211156111d857600080fd5b506111e585828601610f8c565b9150509250929050565b600081518084526020808501945080840160005b8381101561121f57815187529582019590820190600101611203565b509495945050505050565b602081526000610e4260208301846111ef565b6000806040838503121561125057600080fd5b61125983610e49565b91506020830135801515811461126e57600080fd5b809150509250929050565b6000806040838503121561128c57600080fd5b61129583610e49565b91506112a360208401610e49565b90509250929050565b600080600080600060a086880312156112c457600080fd5b6112cd86610e49565b94506112db60208701610e49565b93506040860135925060608601359150608086013567ffffffffffffffff81111561130557600080fd5b61112288828901610ff7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113a0576113a0611340565b5060010190565b8181038181111561019e5761019e611340565b8082018082111561019e5761019e611340565b6040815260006113e060408301856111ef565b82810360208401526113f281856111ef565b95945050505050565b6000815180845260005b8181101561142157602081850181015186830182015201611405565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261149860a08301866111ef565b82810360608401526114aa81866111ef565b905082810360808401526114be81856113fb565b98975050505050505050565b6000602082840312156114dc57600080fd5b8151610e4281610e9c565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261152c60a08301846113fb565b97965050505050505056fea264697066735822122031132aca26a54ea0b740051f0d086b1b3e0de16d4c83d09746e5f4917566f9bf64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/utils/Address.sol/Address.json b/src/artifacts/@0xsequence/erc-1155/contracts/utils/Address.sol/Address.json index f8c916e..95487c4 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/utils/Address.sol/Address.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/utils/Address.sol/Address.json @@ -3,8 +3,8 @@ "contractName": "Address", "sourceName": "@0xsequence/erc-1155/contracts/utils/Address.sol", "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a6456a1fc9cb9106615db79dbcf6e38917b43ae48c6fbdee6c3f71f6c78d8e9564736f6c63430007040033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a6456a1fc9cb9106615db79dbcf6e38917b43ae48c6fbdee6c3f71f6c78d8e9564736f6c63430007040033", + "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203737a7246d8828b0177847c6324a9961dd3ec23e0b55b58c3ac5835d6545d52c64736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203737a7246d8828b0177847c6324a9961dd3ec23e0b55b58c3ac5835d6545d52c64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibBytes.sol/LibBytes.json b/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibBytes.sol/LibBytes.json index cb34178..73d03c3 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibBytes.sol/LibBytes.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibBytes.sol/LibBytes.json @@ -3,8 +3,8 @@ "contractName": "LibBytes", "sourceName": "@0xsequence/erc-1155/contracts/utils/LibBytes.sol", "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220525d0669f5f620c0b95a25c33290a8da789eb2138d8db62d9b98a2c9f3883d2264736f6c63430007040033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220525d0669f5f620c0b95a25c33290a8da789eb2138d8db62d9b98a2c9f3883d2264736f6c63430007040033", + "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a67ed69d7e8fe8081bf2946900b8e6bb0bdeeae86cfed2fbcfad59644b246ca64736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a67ed69d7e8fe8081bf2946900b8e6bb0bdeeae86cfed2fbcfad59644b246ca64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibEIP712.sol/LibEIP712.json b/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibEIP712.sol/LibEIP712.json index ce116fe..1f9acd7 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibEIP712.sol/LibEIP712.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/utils/LibEIP712.sol/LibEIP712.json @@ -3,8 +3,8 @@ "contractName": "LibEIP712", "sourceName": "@0xsequence/erc-1155/contracts/utils/LibEIP712.sol", "abi": [], - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220f60c7dc440f3913f227714dd4ed35140d496244f60794b9f5865229445b54abf64736f6c63430007040033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220f60c7dc440f3913f227714dd4ed35140d496244f60794b9f5865229445b54abf64736f6c63430007040033", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220c693bf70fac64aa1c4f3136072f1d2b7b93cb3de19e8ea32398b9d5baa243a6164736f6c63430008120033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220c693bf70fac64aa1c4f3136072f1d2b7b93cb3de19e8ea32398b9d5baa243a6164736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/utils/SafeMath.sol/SafeMath.json b/src/artifacts/@0xsequence/erc-1155/contracts/utils/SafeMath.sol/SafeMath.json deleted file mode 100644 index 8fa4ae3..0000000 --- a/src/artifacts/@0xsequence/erc-1155/contracts/utils/SafeMath.sol/SafeMath.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SafeMath", - "sourceName": "@0xsequence/erc-1155/contracts/utils/SafeMath.sol", - "abi": [], - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058c9e1b3743f27ebdc586780ff31f2eac6bcd93e0285766152fd514028fbee6864736f6c63430007040033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058c9e1b3743f27ebdc586780ff31f2eac6bcd93e0285766152fd514028fbee6864736f6c63430007040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/artifacts/@0xsequence/erc-1155/contracts/utils/SignatureValidator.sol/SignatureValidator.json b/src/artifacts/@0xsequence/erc-1155/contracts/utils/SignatureValidator.sol/SignatureValidator.json index 0dd8a24..bc39a8f 100644 --- a/src/artifacts/@0xsequence/erc-1155/contracts/utils/SignatureValidator.sol/SignatureValidator.json +++ b/src/artifacts/@0xsequence/erc-1155/contracts/utils/SignatureValidator.sol/SignatureValidator.json @@ -38,8 +38,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610c5f806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063fa4e12d714610030575b600080fd5b61017f6004803603608081101561004657600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561008357600080fd5b82018360208201111561009557600080fd5b803590602001918460018302840111640100000000831117156100b757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561010a57600080fd5b82018360208201111561011c57600080fd5b8035906020019184600183028401116401000000008311171561013e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610193945050505050565b604080519115158252519081900360200190f35b6000808251116101ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526043815260200180610bab6043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661025a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180610b786033913960400191505060405180910390fd5b600061026583610974565b60f81c9050600581106102c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610ad1603a913960400191505060405180910390fd5b60008160ff1660058111156102d457fe5b90506000808080808560058111156102e857fe5b141561033f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610b0b6036913960400191505060405180910390fd5b600185600581111561034d57fe5b14156104905787516061146103ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180610b416037913960400191505060405180910390fd5b6103b8886000610a31565b92506103c5886020610a31565b9150876040815181106103d457fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561043e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d8116911614975061096c9650505050505050565b600285600581111561049e57fe5b14156105ee5787516061146104fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180610b416037913960400191505060405180910390fd5b610509886000610a31565b9250610516886020610a31565b91508760408151811061052557fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa15801561043e573d6000803e3d6000fd5b60038560058111156105fc57fe5b14156107b457604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b8381101561068a578181015183820152602001610672565b50505050905090810190601f1680156106b75780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156106ea5781810151838201526020016106d2565b50505050905090810190601f1680156107175780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561073657600080fd5b505afa15801561074a573d6000803e3d6000fd5b505050506040513d602081101561076057600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061096c95505050505050565b60048560058111156107c257fe5b141561091b57604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b8381101561085257818101518382015260200161083a565b50505050905090810190601f16801561087f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561089d57600080fd5b505afa1580156108b1573d6000803e3d6000fd5b505050506040513d60208110156108c757600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061096c95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610ad1603a913960400191505060405180910390fd5b949350505050565b6000808251116109cf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180610a9a6037913960400191505060405180910390fd5b816001835103815181106109df57fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60008160200183511015610a90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c815260200180610bee603c913960400191505060405180910390fd5b5001602001519056fe4c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245445369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f52455155495245445369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e45525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f52455155495245444c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a26469706673582212206e41673480bd39eb721f22702bc68521e4cdfe954e7bf2cfe9afc87acfb4c25264736f6c63430007040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063fa4e12d714610030575b600080fd5b61017f6004803603608081101561004657600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561008357600080fd5b82018360208201111561009557600080fd5b803590602001918460018302840111640100000000831117156100b757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561010a57600080fd5b82018360208201111561011c57600080fd5b8035906020019184600183028401116401000000008311171561013e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610193945050505050565b604080519115158252519081900360200190f35b6000808251116101ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526043815260200180610bab6043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661025a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180610b786033913960400191505060405180910390fd5b600061026583610974565b60f81c9050600581106102c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610ad1603a913960400191505060405180910390fd5b60008160ff1660058111156102d457fe5b90506000808080808560058111156102e857fe5b141561033f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610b0b6036913960400191505060405180910390fd5b600185600581111561034d57fe5b14156104905787516061146103ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180610b416037913960400191505060405180910390fd5b6103b8886000610a31565b92506103c5886020610a31565b9150876040815181106103d457fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561043e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d8116911614975061096c9650505050505050565b600285600581111561049e57fe5b14156105ee5787516061146104fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180610b416037913960400191505060405180910390fd5b610509886000610a31565b9250610516886020610a31565b91508760408151811061052557fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa15801561043e573d6000803e3d6000fd5b60038560058111156105fc57fe5b14156107b457604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b8381101561068a578181015183820152602001610672565b50505050905090810190601f1680156106b75780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156106ea5781810151838201526020016106d2565b50505050905090810190601f1680156107175780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561073657600080fd5b505afa15801561074a573d6000803e3d6000fd5b505050506040513d602081101561076057600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061096c95505050505050565b60048560058111156107c257fe5b141561091b57604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b8381101561085257818101518382015260200161083a565b50505050905090810190601f16801561087f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561089d57600080fd5b505afa1580156108b1573d6000803e3d6000fd5b505050506040513d60208110156108c757600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061096c95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610ad1603a913960400191505060405180910390fd5b949350505050565b6000808251116109cf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180610a9a6037913960400191505060405180910390fd5b816001835103815181106109df57fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60008160200183511015610a90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c815260200180610bee603c913960400191505060405180910390fd5b5001602001519056fe4c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245445369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f52455155495245445369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e45525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f52455155495245444c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a26469706673582212206e41673480bd39eb721f22702bc68521e4cdfe954e7bf2cfe9afc87acfb4c25264736f6c63430007040033", + "bytecode": "0x608060405234801561001057600080fd5b50610daf806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063fa4e12d714610030575b600080fd5b61004361003e366004610b39565b610057565b604051901515815260200160405180910390f35b600080825111610114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e455200000000000000000000000000606482015260840161010b565b60006101c2836108a5565b60f81c905060058110610257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e4154555245000000000000606482015260840161010b565b60008160ff16600581111561026e5761026e610bd2565b905060008080808085600581111561028857610288610bd2565b03610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e415455524500000000000000000000606482015260840161010b565b600185600581111561032957610329610bd2565b0361049b5787516061146103bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f5245515549524544000000000000000000606482015260840161010b565b6103ca8860006109a8565b92506103d78860206109a8565b9150876040815181106103ec576103ec610c01565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015610449573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d8116911614975061089d9650505050505050565b60028560058111156104af576104af610bd2565b03610615578751606114610545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f5245515549524544000000000000000000606482015260840161010b565b6105508860006109a8565b925061055d8860206109a8565b91508760408151811061057257610572610c01565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001610427565b600385600581111561062957610629610bd2565b03610715576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90610682908c908c90600401610c94565b602060405180830381865afa15801561069f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c39190610cc2565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061089d95505050505050565b600485600581111561072957610729610bd2565b03610815576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90610782908d908c90600401610d0b565b602060405180830381865afa15801561079f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c39190610cc2565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061089d95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e4154555245000000000000606482015260840161010b565b949350505050565b600080825111610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f5245515549524544000000000000000000606482015260840161010b565b81600183516109469190610d53565b8151811061095657610956610c01565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60006109b5826020610d66565b83511015610a45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f524551554952454400000000606482015260840161010b565b610a50602083610d66565b91508183015190505b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610a9f57600080fd5b813567ffffffffffffffff80821115610aba57610aba610a5f565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b0057610b00610a5f565b81604052838152866020858801011115610b1957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215610b4f57600080fd5b843573ffffffffffffffffffffffffffffffffffffffff81168114610b7357600080fd5b935060208501359250604085013567ffffffffffffffff80821115610b9757600080fd5b610ba388838901610a8e565b93506060870135915080821115610bb957600080fd5b50610bc687828801610a8e565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b81811015610c5657602081850181015186830182015201610c3a565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081526000610ca76040830185610c30565b8281036020840152610cb98185610c30565b95945050505050565b600060208284031215610cd457600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610d0457600080fd5b9392505050565b82815260406020820152600061089d6040830184610c30565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610a5957610a59610d24565b80820180821115610a5957610a59610d2456fea26469706673582212207836d32911f22de61e7962e01021ef5e64300c9348821ea0277c0f5da7382ecb64736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063fa4e12d714610030575b600080fd5b61004361003e366004610b39565b610057565b604051901515815260200160405180910390f35b600080825111610114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166101b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e455200000000000000000000000000606482015260840161010b565b60006101c2836108a5565b60f81c905060058110610257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e4154555245000000000000606482015260840161010b565b60008160ff16600581111561026e5761026e610bd2565b905060008080808085600581111561028857610288610bd2565b03610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e415455524500000000000000000000606482015260840161010b565b600185600581111561032957610329610bd2565b0361049b5787516061146103bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f5245515549524544000000000000000000606482015260840161010b565b6103ca8860006109a8565b92506103d78860206109a8565b9150876040815181106103ec576103ec610c01565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015610449573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d8116911614975061089d9650505050505050565b60028560058111156104af576104af610bd2565b03610615578751606114610545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f5245515549524544000000000000000000606482015260840161010b565b6105508860006109a8565b925061055d8860206109a8565b91508760408151811061057257610572610c01565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001610427565b600385600581111561062957610629610bd2565b03610715576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90610682908c908c90600401610c94565b602060405180830381865afa15801561069f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c39190610cc2565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061089d95505050505050565b600485600581111561072957610729610bd2565b03610815576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90610782908d908c90600401610d0b565b602060405180830381865afa15801561079f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c39190610cc2565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061089d95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e4154555245000000000000606482015260840161010b565b949350505050565b600080825111610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f5245515549524544000000000000000000606482015260840161010b565b81600183516109469190610d53565b8151811061095657610956610c01565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60006109b5826020610d66565b83511015610a45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f524551554952454400000000606482015260840161010b565b610a50602083610d66565b91508183015190505b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610a9f57600080fd5b813567ffffffffffffffff80821115610aba57610aba610a5f565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610b0057610b00610a5f565b81604052838152866020858801011115610b1957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215610b4f57600080fd5b843573ffffffffffffffffffffffffffffffffffffffff81168114610b7357600080fd5b935060208501359250604085013567ffffffffffffffff80821115610b9757600080fd5b610ba388838901610a8e565b93506060870135915080821115610bb957600080fd5b50610bc687828801610a8e565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b81811015610c5657602081850181015186830182015201610c3a565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081526000610ca76040830185610c30565b8281036020840152610cb98185610c30565b95945050505050565b600060208284031215610cd457600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610d0457600080fd5b9392505050565b82815260406020820152600061089d6040830184610c30565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610a5957610a59610d24565b80820180821115610a5957610a59610d2456fea26469706673582212207836d32911f22de61e7962e01021ef5e64300c9348821ea0277c0f5da7382ecb64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json index 74724df..c45e5ee 100644 --- a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json +++ b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json @@ -235,8 +235,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610687806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610170578063a457c2d7146101a3578063a9059cbb146101dc578063dd62ed3e1461021557610088565b8063095ea7b31461008d57806318160ddd146100da57806323b872dd146100f45780633950935114610137575b600080fd5b6100c6600480360360408110156100a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610250565b604080519115158252519081900360200190f35b6100e2610266565b60408051918252519081900360200190f35b6100c66004803603606081101561010a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561026c565b6100c66004803603604081101561014d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102ca565b6100e26004803603602081101561018657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661030d565b6100c6600480360360408110156101b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610335565b6100c6600480360360408110156101f257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610378565b6100e26004803603604081101561022b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610385565b600061025d3384846103bd565b50600192915050565b60025490565b600061027984848461046c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546102c09186916102bb908661055f565b6103bd565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb90866105d6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb908661055f565b600061025d33848461046c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff82166103dd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166103fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661048c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546104bc908261055f565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546104f890826105d6565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561064a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea26469706673582212203c4dcfdef3f739fe1242da086388e24ba7e6944f058353c4fc15e984b4a21e2c64736f6c63430007040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610170578063a457c2d7146101a3578063a9059cbb146101dc578063dd62ed3e1461021557610088565b8063095ea7b31461008d57806318160ddd146100da57806323b872dd146100f45780633950935114610137575b600080fd5b6100c6600480360360408110156100a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610250565b604080519115158252519081900360200190f35b6100e2610266565b60408051918252519081900360200190f35b6100c66004803603606081101561010a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561026c565b6100c66004803603604081101561014d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102ca565b6100e26004803603602081101561018657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661030d565b6100c6600480360360408110156101b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610335565b6100c6600480360360408110156101f257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610378565b6100e26004803603604081101561022b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610385565b600061025d3384846103bd565b50600192915050565b60025490565b600061027984848461046c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546102c09186916102bb908661055f565b6103bd565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb90866105d6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb908661055f565b600061025d33848461046c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff82166103dd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166103fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661048c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546104bc908261055f565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546104f890826105d6565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561064a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea26469706673582212203c4dcfdef3f739fe1242da086388e24ba7e6944f058353c4fc15e984b4a21e2c64736f6c63430007040033", + "bytecode": "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json index 3bda8e6..6c9a03a 100644 --- a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json +++ b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json @@ -258,8 +258,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506107ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d7146101f9578063a9059cbb14610232578063dd62ed3e1461026b576100a3565b8063395093511461018d57806370a08231146101c6576100a3565b8063095ea7b3146100a857806318160ddd146100f557806323b872dd1461010f578063378934b414610152575b600080fd5b6100e1600480360360408110156100be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102a6565b604080519115158252519081900360200190f35b6100fd6102bc565b60408051918252519081900360200190f35b6100e16004803603606081101561012557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102c2565b61018b6004803603604081101561016857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610320565b005b6100e1600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561032e565b6100fd600480360360208110156101dc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610371565b6100e16004803603604081101561020f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610399565b6100e16004803603604081101561024857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103dc565b6100fd6004803603604081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166103e9565b60006102b3338484610421565b50600192915050565b60025490565b60006102cf8484846104d0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461031691869161031190866105c3565b610421565b5060019392505050565b61032a828261063a565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866106fd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866105c3565b60006102b33384846104d0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff821661044157600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661046157600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166104f057600080fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205461052090826105c3565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220939093559084168152205461055c90826106fd565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561063457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff821661065a57600080fd5b60025461066790826106fd565b60025573ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461069a90826106fd565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101561077157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220a858dbffac5579c9704da772b70f123066342eebd5e0f925afcfcf70eec045f364736f6c63430007040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d7146101f9578063a9059cbb14610232578063dd62ed3e1461026b576100a3565b8063395093511461018d57806370a08231146101c6576100a3565b8063095ea7b3146100a857806318160ddd146100f557806323b872dd1461010f578063378934b414610152575b600080fd5b6100e1600480360360408110156100be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102a6565b604080519115158252519081900360200190f35b6100fd6102bc565b60408051918252519081900360200190f35b6100e16004803603606081101561012557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102c2565b61018b6004803603604081101561016857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610320565b005b6100e1600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561032e565b6100fd600480360360208110156101dc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610371565b6100e16004803603604081101561020f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610399565b6100e16004803603604081101561024857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103dc565b6100fd6004803603604081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166103e9565b60006102b3338484610421565b50600192915050565b60025490565b60006102cf8484846104d0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461031691869161031190866105c3565b610421565b5060019392505050565b61032a828261063a565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866106fd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866105c3565b60006102b33384846104d0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff821661044157600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661046157600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166104f057600080fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205461052090826105c3565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220939093559084168152205461055c90826106fd565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561063457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff821661065a57600080fd5b60025461066790826106fd565b60025573ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461069a90826106fd565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101561077157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220a858dbffac5579c9704da772b70f123066342eebd5e0f925afcfcf70eec045f364736f6c63430007040033", + "bytecode": "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json b/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json index 700ccfa..b786530 100644 --- a/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json +++ b/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json @@ -481,8 +481,8 @@ "type": "receive" } ], - "bytecode": "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556125a38061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed121461026a578063e985e9c51461028a578063f23a6e61146102aa578063f242432a146102ca576100f3565b80639040a94914610208578063a22cb4651461021d578063bc197c811461023d576100f3565b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f549146101f5576100f3565b8062fdd58e146100f857806301ffc9a71461012e5780632eb2c2d61461015b576100f3565b366100f3576100f1600133346102ea565b005b600080fd5b34801561010457600080fd5b50610118610113366004611d66565b6105bd565b6040516101259190612361565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004611e70565b6105f0565b6040516101259190611f87565b34801561016757600080fd5b506100f1610176366004611be8565b6106d7565b34801561018757600080fd5b5061019b610196366004611d91565b6107e2565b6040516101259190611f43565b3480156101b457600080fd5b506101186101c3366004611b94565b61092e565b3480156101d457600080fd5b506101e86101e3366004611eb0565b61098b565b6040516101259190611ecb565b6100f1610203366004611c92565b6102ea565b34801561021457600080fd5b506101186109e7565b34801561022957600080fd5b506100f1610238366004611d39565b6109ed565b34801561024957600080fd5b5061025d610258366004611be8565b610a86565b6040516101259190611f92565b34801561027657600080fd5b506100f1610285366004611c92565b610b50565b34801561029657600080fd5b5061014e6102a5366004611bb0565b610b69565b3480156102b657600080fd5b5061025d6102c5366004611cd2565b610ba4565b3480156102d657600080fd5b506100f16102e5366004611cd2565b610c20565b73ffffffffffffffffffffffffffffffffffffffff8216610340576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612133565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461055f573415610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612190565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906103ee90339030908790600401611eec565b602060405180830381600087803b15801561040857600080fd5b505af115801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611e54565b50610449610d24565b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790611fbf565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604090205480610555576002805460010190819055600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600390915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f906105489087908590611f1d565b60405180910390a1610559565b8091505b5061059c565b348214610598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612079565b5060015b6105b783828460405180602001604052806000815250610d58565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061068357507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806106cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061070057506107008533610b69565b610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124c6602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166107c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061246a6030913960400191505060405180910390fd5b6107cd85858585610e0d565b6107db858585855a86611161565b5050505050565b6060815183511461083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061249a602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561085857600080fd5b50604051908082528060200260200182016040528015610882578160200160208202803683370190505b50905060005b8451811015610926576000808683815181106108a057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106108f057fe5b602002602001015181526020019081526020016000205482828151811061091357fe5b6020908102919091010152600101610888565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906122a7565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906120d6565b60025490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000333014610ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612304565b60005b8451811015610b2457610ae9858281518110610adc57fe5b602002602001015161098b565b50610b1c3087878481518110610afb57fe5b6020026020010151878581518110610b0f57fe5b60200260200101516113d8565b600101610ac4565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610b5b8461092e565b90506105b7338483856113d8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610bdf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061224a565b610be88461098b565b50610bf5308686866113d8565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610c495750610c498533610b69565b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061240b602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806123e0602b913960400191505060405180910390fd5b610d16858585856115d9565b6107db858585855a866116dc565b6000803d8015610d3b5760208114610d4457610d50565b60019150610d50565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054610d9190836118cd565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46105b760008585855a866116dc565b8051825114610e67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806124356035913960400191505060405180910390fd5b815160005b8181101561105957610efc838281518110610e8357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610ed757fe5b602002602001015181526020019081526020016000205461194890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f4857fe5b6020026020010151815260200190815260200160002081905550610fea838281518110610f7157fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610fc557fe5b60200260200101518152602001908152602001600020546118cd90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061103657fe5b602090810291909101810151825281019190915260400160002055600101610e6c565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156111065781810151838201526020016110ee565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561114557818101518382015260200161112d565b5050505090500194505050505060405180910390a45050505050565b6111808573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611238578181015183820152602001611220565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561127757818101518382015260200161125f565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156112b357818101518382015260200161129b565b50505050905090810190601f1680156112e05780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561130557600080fd5b5087f1158015611319573d6000803e3d6000fd5b50505050506040513d602081101561133057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806124f5603f913960400191505060405180910390fd5b505b505050505050565b6113e38483836119f6565b600182146114e9576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691829163a9059cbb91611452918891879101611f1d565b602060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190611e54565b506114ad610d24565b6114e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b506105b7565b73ffffffffffffffffffffffffffffffffffffffff8316611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061201c565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161155c90611ec8565b60006040518083038185875af1925050503d8060008114611599576040519150601f19603f3d011682016040523d82523d6000602084013e61159e565b606091505b50509050806107db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546116129082611948565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461166290826118cd565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6116fb8573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117b457818101518382015260200161179c565b50505050905090810190601f1680156117e15780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561180457600080fd5b5087f1158015611818573d6000803e3d6000fd5b50505050506040513d602081101561182f57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612534603a913960400191505060405180910390fd5b60008282018381101561194157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000828211156119b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f801580159061194157507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054611a2f9082611948565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b600082601f830112611ab1578081fd5b8135611ac4611abf8261238e565b61236a565b818152915060208083019084810181840286018201871015611ae557600080fd5b60005b84811015611b0457813584529282019290820190600101611ae8565b505050505092915050565b600082601f830112611b1f578081fd5b813567ffffffffffffffff811115611b3357fe5b611b6460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161236a565b9150808252836020828501011115611b7b57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ba5578081fd5b8135611941816123ac565b60008060408385031215611bc2578081fd5b8235611bcd816123ac565b91506020830135611bdd816123ac565b809150509250929050565b600080600080600060a08688031215611bff578081fd5b8535611c0a816123ac565b94506020860135611c1a816123ac565b9350604086013567ffffffffffffffff80821115611c36578283fd5b611c4289838a01611aa1565b94506060880135915080821115611c57578283fd5b611c6389838a01611aa1565b93506080880135915080821115611c78578283fd5b50611c8588828901611b0f565b9150509295509295909350565b600080600060608486031215611ca6578283fd5b8335611cb1816123ac565b92506020840135611cc1816123ac565b929592945050506040919091013590565b600080600080600060a08688031215611ce9578081fd5b8535611cf4816123ac565b94506020860135611d04816123ac565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d2d578182fd5b611c8588828901611b0f565b60008060408385031215611d4b578182fd5b8235611d56816123ac565b91506020830135611bdd816123d1565b60008060408385031215611d78578182fd5b8235611d83816123ac565b946020939093013593505050565b60008060408385031215611da3578182fd5b823567ffffffffffffffff80821115611dba578384fd5b818501915085601f830112611dcd578384fd5b8135611ddb611abf8261238e565b80828252602080830192508086018a828387028901011115611dfb578889fd5b8896505b84871015611e26578035611e12816123ac565b845260019690960195928101928101611dff565b509096508701359350505080821115611e3d578283fd5b50611e4a85828601611aa1565b9150509250929050565b600060208284031215611e65578081fd5b8151611941816123d1565b600060208284031215611e81578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611941578182fd5b600060208284031215611ec1578081fd5b5035919050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611f7b57835183529284019291840191600101611f5f565b50909695505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60208082526025908201527f455243323057726170706572236465706f7369743a205452414e534645525f4660408201527f41494c4544000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260408201527f4543495049454e54000000000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60408201527f4d53475f56414c55450000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f455243323057726170706572236765744964416464726573733a20554e52454760408201527f495354455245445f544f4b454e00000000000000000000000000000000000000606082015260800190565b60208082526027908201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560408201527f43495049454e5400000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60408201527f53475f56414c5545000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4552433230577261707065722377697468647261773a205452414e534645525f60408201527f4641494c45440000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f455243323057726170706572236f6e4552433131353552656365697665643a2060408201527f494e56414c49445f455243313135355f52454345495645440000000000000000606082015260800190565b6020808252602b908201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360408201527f54455245445f544f4b454e000000000000000000000000000000000000000000606082015260800190565b6020808252603d908201527f455243323057726170706572236f6e455243313135354261746368526563656960408201527f7665643a20494e56414c49445f455243313135355f5245434549564544000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561238657fe5b604052919050565b600067ffffffffffffffff8211156123a257fe5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff811681146123ce57600080fd5b50565b80151581146123ce57600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a26469706673582212209b9a748efe94203a5aaf6008a2e2df5831d30525ad43b3dd67a99a2904877f8a64736f6c63430007040033", - "deployedBytecode": "0x6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed121461026a578063e985e9c51461028a578063f23a6e61146102aa578063f242432a146102ca576100f3565b80639040a94914610208578063a22cb4651461021d578063bc197c811461023d576100f3565b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f549146101f5576100f3565b8062fdd58e146100f857806301ffc9a71461012e5780632eb2c2d61461015b576100f3565b366100f3576100f1600133346102ea565b005b600080fd5b34801561010457600080fd5b50610118610113366004611d66565b6105bd565b6040516101259190612361565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004611e70565b6105f0565b6040516101259190611f87565b34801561016757600080fd5b506100f1610176366004611be8565b6106d7565b34801561018757600080fd5b5061019b610196366004611d91565b6107e2565b6040516101259190611f43565b3480156101b457600080fd5b506101186101c3366004611b94565b61092e565b3480156101d457600080fd5b506101e86101e3366004611eb0565b61098b565b6040516101259190611ecb565b6100f1610203366004611c92565b6102ea565b34801561021457600080fd5b506101186109e7565b34801561022957600080fd5b506100f1610238366004611d39565b6109ed565b34801561024957600080fd5b5061025d610258366004611be8565b610a86565b6040516101259190611f92565b34801561027657600080fd5b506100f1610285366004611c92565b610b50565b34801561029657600080fd5b5061014e6102a5366004611bb0565b610b69565b3480156102b657600080fd5b5061025d6102c5366004611cd2565b610ba4565b3480156102d657600080fd5b506100f16102e5366004611cd2565b610c20565b73ffffffffffffffffffffffffffffffffffffffff8216610340576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612133565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461055f573415610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612190565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906103ee90339030908790600401611eec565b602060405180830381600087803b15801561040857600080fd5b505af115801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611e54565b50610449610d24565b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790611fbf565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604090205480610555576002805460010190819055600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600390915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f906105489087908590611f1d565b60405180910390a1610559565b8091505b5061059c565b348214610598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612079565b5060015b6105b783828460405180602001604052806000815250610d58565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061068357507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806106cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061070057506107008533610b69565b610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124c6602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166107c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061246a6030913960400191505060405180910390fd5b6107cd85858585610e0d565b6107db858585855a86611161565b5050505050565b6060815183511461083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061249a602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561085857600080fd5b50604051908082528060200260200182016040528015610882578160200160208202803683370190505b50905060005b8451811015610926576000808683815181106108a057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106108f057fe5b602002602001015181526020019081526020016000205482828151811061091357fe5b6020908102919091010152600101610888565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906122a7565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906120d6565b60025490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000333014610ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612304565b60005b8451811015610b2457610ae9858281518110610adc57fe5b602002602001015161098b565b50610b1c3087878481518110610afb57fe5b6020026020010151878581518110610b0f57fe5b60200260200101516113d8565b600101610ac4565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610b5b8461092e565b90506105b7338483856113d8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610bdf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061224a565b610be88461098b565b50610bf5308686866113d8565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610c495750610c498533610b69565b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061240b602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806123e0602b913960400191505060405180910390fd5b610d16858585856115d9565b6107db858585855a866116dc565b6000803d8015610d3b5760208114610d4457610d50565b60019150610d50565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054610d9190836118cd565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46105b760008585855a866116dc565b8051825114610e67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806124356035913960400191505060405180910390fd5b815160005b8181101561105957610efc838281518110610e8357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610ed757fe5b602002602001015181526020019081526020016000205461194890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f4857fe5b6020026020010151815260200190815260200160002081905550610fea838281518110610f7157fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610fc557fe5b60200260200101518152602001908152602001600020546118cd90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061103657fe5b602090810291909101810151825281019190915260400160002055600101610e6c565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156111065781810151838201526020016110ee565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561114557818101518382015260200161112d565b5050505090500194505050505060405180910390a45050505050565b6111808573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611238578181015183820152602001611220565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561127757818101518382015260200161125f565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156112b357818101518382015260200161129b565b50505050905090810190601f1680156112e05780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561130557600080fd5b5087f1158015611319573d6000803e3d6000fd5b50505050506040513d602081101561133057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806124f5603f913960400191505060405180910390fd5b505b505050505050565b6113e38483836119f6565b600182146114e9576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691829163a9059cbb91611452918891879101611f1d565b602060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190611e54565b506114ad610d24565b6114e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b506105b7565b73ffffffffffffffffffffffffffffffffffffffff8316611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061201c565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161155c90611ec8565b60006040518083038185875af1925050503d8060008114611599576040519150601f19603f3d011682016040523d82523d6000602084013e61159e565b606091505b50509050806107db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546116129082611948565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461166290826118cd565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6116fb8573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117b457818101518382015260200161179c565b50505050905090810190601f1680156117e15780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561180457600080fd5b5087f1158015611818573d6000803e3d6000fd5b50505050506040513d602081101561182f57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612534603a913960400191505060405180910390fd5b60008282018381101561194157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000828211156119b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f801580159061194157507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054611a2f9082611948565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b600082601f830112611ab1578081fd5b8135611ac4611abf8261238e565b61236a565b818152915060208083019084810181840286018201871015611ae557600080fd5b60005b84811015611b0457813584529282019290820190600101611ae8565b505050505092915050565b600082601f830112611b1f578081fd5b813567ffffffffffffffff811115611b3357fe5b611b6460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161236a565b9150808252836020828501011115611b7b57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ba5578081fd5b8135611941816123ac565b60008060408385031215611bc2578081fd5b8235611bcd816123ac565b91506020830135611bdd816123ac565b809150509250929050565b600080600080600060a08688031215611bff578081fd5b8535611c0a816123ac565b94506020860135611c1a816123ac565b9350604086013567ffffffffffffffff80821115611c36578283fd5b611c4289838a01611aa1565b94506060880135915080821115611c57578283fd5b611c6389838a01611aa1565b93506080880135915080821115611c78578283fd5b50611c8588828901611b0f565b9150509295509295909350565b600080600060608486031215611ca6578283fd5b8335611cb1816123ac565b92506020840135611cc1816123ac565b929592945050506040919091013590565b600080600080600060a08688031215611ce9578081fd5b8535611cf4816123ac565b94506020860135611d04816123ac565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d2d578182fd5b611c8588828901611b0f565b60008060408385031215611d4b578182fd5b8235611d56816123ac565b91506020830135611bdd816123d1565b60008060408385031215611d78578182fd5b8235611d83816123ac565b946020939093013593505050565b60008060408385031215611da3578182fd5b823567ffffffffffffffff80821115611dba578384fd5b818501915085601f830112611dcd578384fd5b8135611ddb611abf8261238e565b80828252602080830192508086018a828387028901011115611dfb578889fd5b8896505b84871015611e26578035611e12816123ac565b845260019690960195928101928101611dff565b509096508701359350505080821115611e3d578283fd5b50611e4a85828601611aa1565b9150509250929050565b600060208284031215611e65578081fd5b8151611941816123d1565b600060208284031215611e81578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611941578182fd5b600060208284031215611ec1578081fd5b5035919050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611f7b57835183529284019291840191600101611f5f565b50909695505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60208082526025908201527f455243323057726170706572236465706f7369743a205452414e534645525f4660408201527f41494c4544000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260408201527f4543495049454e54000000000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60408201527f4d53475f56414c55450000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f455243323057726170706572236765744964416464726573733a20554e52454760408201527f495354455245445f544f4b454e00000000000000000000000000000000000000606082015260800190565b60208082526027908201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560408201527f43495049454e5400000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60408201527f53475f56414c5545000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4552433230577261707065722377697468647261773a205452414e534645525f60408201527f4641494c45440000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f455243323057726170706572236f6e4552433131353552656365697665643a2060408201527f494e56414c49445f455243313135355f52454345495645440000000000000000606082015260800190565b6020808252602b908201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360408201527f54455245445f544f4b454e000000000000000000000000000000000000000000606082015260800190565b6020808252603d908201527f455243323057726170706572236f6e455243313135354261746368526563656960408201527f7665643a20494e56414c49445f455243313135355f5245434549564544000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561238657fe5b604052919050565b600067ffffffffffffffff8211156123a257fe5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff811681146123ce57600080fd5b50565b80151581146123ce57600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a26469706673582212209b9a748efe94203a5aaf6008a2e2df5831d30525ad43b3dd67a99a2904877f8a64736f6c63430007040033", + "bytecode": "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033", + "deployedBytecode": "0x6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json b/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json index 96c03e0..fafff78 100644 --- a/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json +++ b/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json @@ -662,8 +662,8 @@ "type": "receive" } ], - "bytecode": "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff000000000000000000000000000000000000000016909117905561431a8061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610391578063f5d4c820146103b1578063fa4e12d7146103d15761015a565b8063e985e9c514610351578063f23a6e61146103715761015a565b8063bc197c81116100a5578063bc197c81146102e4578063ce0b514b14610311578063d9caed12146103315761015a565b8063a22cb465146102a4578063a3d4926e146102c45761015a565b80634e1273f4116101175780637358e9a5116100fc5780637358e9a51461024f5780638340f5491461027c5780639040a9491461028f5761015a565b80634e1273f41461020257806363f8071c1461022f5761015a565b8062fdd58e1461015f57806301ffc9a7146101955780632d0335ab146101c25780632eb2c2d6146101e25761015a565b3661015a57610158600133346103f1565b005b600080fd5b34801561016b57600080fd5b5061017f61017a366004613478565b6106c4565b60405161018c9190613edc565b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004613582565b6106f7565b60405161018c9190613831565b3480156101ce57600080fd5b5061017f6101dd366004612fc5565b6107de565b3480156101ee57600080fd5b506101586101fd366004613270565b610806565b34801561020e57600080fd5b5061022261021d3660046134a3565b610911565b60405161018c91906137ed565b34801561023b57600080fd5b5061017f61024a366004612fc5565b610a5d565b34801561025b57600080fd5b5061026f61026a366004613681565b610aba565b60405161018c9190613730565b61015861028a36600461332b565b6103f1565b34801561029b57600080fd5b5061017f610b16565b3480156102b057600080fd5b506101586102bf3660046133ce565b610b1c565b3480156102d057600080fd5b506101586102df3660046131b3565b610bb5565b3480156102f057600080fd5b506103046102ff366004613062565b610d29565b60405161018c91906138b9565b34801561031d57600080fd5b5061015861032c36600461333f565b610df3565b34801561033d57600080fd5b5061015861034c36600461310c565b610ed2565b34801561035d57600080fd5b506101b561036c36600461302a565b610eeb565b34801561037d57600080fd5b5061030461038c36600461314c565b610f26565b34801561039d57600080fd5b506101586103ac3660046133b7565b610fa2565b3480156103bd57600080fd5b506101586103cc3660046132be565b6110a6565b3480156103dd57600080fd5b506101b56103ec3660046133fb565b6111d6565b73ffffffffffffffffffffffffffffffffffffffff8216610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613943565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461066657341561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139fd565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906104f590339030908790600401613751565b602060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105479190613566565b506105506119b7565b610586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613a5a565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600460205260409020548061065c576003805460010190819055600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600490915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f9061064f9087908590613782565b60405180910390a1610660565b8091505b506106a3565b34821461069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906138e6565b5060015b6106be838284604051806020016040528060008152506119eb565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061078a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107d657507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b3373ffffffffffffffffffffffffffffffffffffffff8616148061082f575061082f8533610eeb565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806141be602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166108f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061412f6030913960400191505060405180910390fd5b6108fc85858585611aa0565b61090a858585855a86611df4565b5050505050565b6060815183511461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061415f602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561098757600080fd5b506040519080825280602002602001820160405280156109b1578160200160208202803683370190505b50905060005b8451811015610a55576000808683815181106109cf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a1f57fe5b6020026020010151815260200190815260200160002054828281518110610a4257fe5b60209081029190910101526001016109b7565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902054806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613dc5565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff16806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613c51565b60035490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d0b565b6060610c0c612df6565b6060610cbf89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c604051602001610c4a9190613699565b604051602081830303815290604052805190602001208c604051602001610c719190613699565b604051602081830303815290604052805190602001208c610c93576000610c96565b60015b604051602001610cab9695949392919061383c565b604051602081830303815290604052612061565b9050610ccd89898989611aa0565b8415610d105780806020019051810190610ce7919061364c565b8094508193505050610d0189898989866020015188611df4565b610d0b8983612230565b610d1e565b610d1e898989895a86611df4565b505050505050505050565b6000333014610d64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b71565b60005b8451811015610dc757610d8c858281518110610d7f57fe5b6020026020010151610aba565b50610dbf3087878481518110610d9e57fe5b6020026020010151878581518110610db257fe5b60200260200101516124d9565b600101610d67565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613ab7565b6060610e4a612df6565b6060610e8289857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c610c93576000610c96565b9050610e90898989896126da565b8415610ec45780806020019051810190610eaa919061364c565b8094508193505050610d01898989898660200151886127dd565b610d1e898989895a866127dd565b6000610edd84610a5d565b90506106be338483856124d9565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610f61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139a0565b610f6a84610aba565b50610f77308686866124d9565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610fcb5750610fcb8533610eeb565b611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614029602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613fc7602b913960400191505060405180910390fd5b611098858585856126da565b61090a858585855a866127dd565b606061110286837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896110dc5760006110df565b60015b896110eb5760006110ee565b60015b604051602001610cab95949392919061387d565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b16808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168915151790555192935090917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611196908890613831565b60405180910390a382156111ce576111ac612df6565b818060200190518101906111c09190613619565b90506111cc8782612230565b505b505050505050565b600080825111611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260438152602001806141ed6043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661129d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061418b6033913960400191505060405180910390fd5b60006112a8836129ce565b60f81c905060058110611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b60008160ff16600581111561131757fe5b905060008080808085600581111561132b57fe5b1415611382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806140c26036913960400191505060405180910390fd5b600185600581111561139057fe5b14156114d35787516061146113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b6113fb886000612a8b565b9250611408886020612a8b565b91508760408151811061141757fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611481573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506119af9650505050505050565b60028560058111156114e157fe5b1415611631578751606114611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b61154c886000612a8b565b9250611559886020612a8b565b91508760408151811061156857fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611481573d6000803e3d6000fd5b600385600581111561163f57fe5b14156117f757604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b838110156116cd5781810151838201526020016116b5565b50505050905090810190601f1680156116fa5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561172d578181015183820152602001611715565b50505050905090810190601f16801561175a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561177957600080fd5b505afa15801561178d573d6000803e3d6000fd5b505050506040513d60208110156117a357600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b600485600581111561180557fe5b141561195e57604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b8381101561189557818101518382015260200161187d565b50505050905090810190601f1680156118c25780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b949350505050565b6000803d80156119ce57602081146119d7576119e3565b600191506119e3565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054611a249083612af3565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46106be60008585855a866127dd565b8051825114611afa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806140536035913960400191505060405180910390fd5b815160005b81811015611cec57611b8f838281518110611b1657fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b6a57fe5b6020026020010151815260200190815260200160002054612b6e90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611bdb57fe5b6020026020010151815260200190815260200160002081905550611c7d838281518110611c0457fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611c5857fe5b6020026020010151815260200190815260200160002054612af390919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611cc957fe5b602090810291909101810151825281019190915260400160002055600101611aff565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611d99578181015183820152602001611d81565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611dd8578181015183820152602001611dc0565b5050505090500194505050505060405180910390a45050505050565b611e138573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611ecb578181015183820152602001611eb3565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611f0a578181015183820152602001611ef2565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611f46578181015183820152602001611f2e565b50505050905090810190601f168015611f735780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611f9857600080fd5b5087f1158015611fac573d6000803e3d6000fd5b50505050506040513d6020811015611fc357600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180614230603f913960400191505060405180910390fd5b6060808380602001905181019061207891906135c2565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260026020526040812054919450919250906120b0836041612a8b565b90508181108015906120c457508160640181105b6120fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e22565b60006121368683878051906020012060405160200161211b939291906136cf565b60405160208183030381529060405280519060200120612c1c565b9050606086838760405160200161214f939291906136f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825273ffffffffffffffffffffffffffffffffffffffff8c166000818152600260205292909220600187019081905590935090917fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59916121da91613edc565b60405180910390a26121ee898383886111d6565b612224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b14565b50505050509392505050565b600061223f82606001516129ce565b60f81c90506002811061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e7f565b60008160ff16600281111561228f57fe5b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff16156122c55786604001516122c7565b335b925060008560028111156122d757fe5b14156123d65786606001518060200190518101906122f59190612ffd565b909450915073ffffffffffffffffffffffffffffffffffffffff841630141561234657612324888484846126da565b6123418884845a85604051806020016040528060008152506127dd565b6123d1565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f242432a9061239e908b908790879087906004016137a8565b600060405180830381600087803b1580156123b857600080fd5b505af11580156123cc573d6000803e3d6000fd5b505050505b6124cf565b86606001518060200190518101906123ee9190612fe1565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290945073ffffffffffffffffffffffffffffffffffffffff8516906323b872dd90612447908b9087908690600401613751565b602060405180830381600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124999190613566565b6124cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613cae565b5050505050505050565b6124e4848383612d4b565b600182146125ea57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690819063a9059cbb906125539087908690600401613782565b602060405180830381600087803b15801561256d57600080fd5b505af1158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a59190613566565b506125ae6119b7565b6125e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b506106be565b73ffffffffffffffffffffffffffffffffffffffff8316612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613bf4565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161265d9061372d565b60006040518083038185875af1925050503d806000811461269a576040519150601f19603f3d011682016040523d82523d6000602084013e61269f565b606091505b505090508061090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546127139082612b6e565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260208181526040808320878452825280832094909455918616815280825282812085825290915220546127639082612af3565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6127fc8573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156128b557818101518382015260200161289d565b50505050905090810190601f1680156128e25780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561290557600080fd5b5087f1158015612919573d6000803e3d6000fd5b50505050506040513d602081101561293057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061426f603a913960400191505060405180910390fd5b600080825111612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180613ff26037913960400191505060405180910390fd5b81600183510381518110612a3957fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60008160200183511015612aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806142a9603c913960400191505060405180910390fd5b50016020015190565b600082820183811015612b6757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b600082821115612bdf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f8015801590612b6757507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b604080518082018252600281527f1901000000000000000000000000000000000000000000000000000000000000602080830191825283517f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d47498183015230818601528451808203860181526060820190955284519490910193909320825160009491928692608001918291908083835b60208310612ce957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612cac565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054612d849082612b6e565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600082601f830112612e44578081fd5b8135612e57612e5282613f09565b613ee5565b818152915060208083019084810181840286018201871015612e7857600080fd5b60005b84811015612e9757813584529282019290820190600101612e7b565b505050505092915050565b600082601f830112612eb2578081fd5b8135612ec0612e5282613f27565b9150808252836020828501011115612ed757600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612f00578081fd5b8151612f0e612e5282613f27565b9150808252836020828501011115612f2557600080fd5b612f36816020840160208601613f67565b5092915050565b600060808284031215612f4e578081fd5b6040516080810167ffffffffffffffff8282108183111715612f6c57fe5b81604052829350845183526020850151602084015260408501519150612f9182613f93565b8160408401526060850151915080821115612fab57600080fd5b50612fb885828601612ef0565b6060830152505092915050565b600060208284031215612fd6578081fd5b8135612b6781613f93565b600060208284031215612ff2578081fd5b8151612b6781613f93565b6000806040838503121561300f578081fd5b825161301a81613f93565b6020939093015192949293505050565b6000806040838503121561303c578182fd5b823561304781613f93565b9150602083013561305781613f93565b809150509250929050565b600080600080600060a08688031215613079578081fd5b853561308481613f93565b9450602086013561309481613f93565b9350604086013567ffffffffffffffff808211156130b0578283fd5b6130bc89838a01612e34565b945060608801359150808211156130d1578283fd5b6130dd89838a01612e34565b935060808801359150808211156130f2578283fd5b506130ff88828901612ea2565b9150509295509295909350565b600080600060608486031215613120578283fd5b833561312b81613f93565b9250602084013561313b81613f93565b929592945050506040919091013590565b600080600080600060a08688031215613163578081fd5b853561316e81613f93565b9450602086013561317e81613f93565b93506040860135925060608601359150608086013567ffffffffffffffff8111156131a7578182fd5b6130ff88828901612ea2565b60008060008060008060c087890312156131cb578384fd5b86356131d681613f93565b955060208701356131e681613f93565b9450604087013567ffffffffffffffff80821115613202578586fd5b61320e8a838b01612e34565b95506060890135915080821115613223578283fd5b61322f8a838b01612e34565b94506080890135915061324182613fb8565b90925060a08801359080821115613256578283fd5b5061326389828a01612ea2565b9150509295509295509295565b600080600080600060a08688031215613287578283fd5b853561329281613f93565b945060208601356132a281613f93565b9350604086013567ffffffffffffffff808211156130b0578485fd5b600080600080600060a086880312156132d5578283fd5b85356132e081613f93565b945060208601356132f081613f93565b9350604086013561330081613fb8565b9250606086013561331081613fb8565b9150608086013567ffffffffffffffff8111156131a7578182fd5b600080600060608486031215613120578081fd5b60008060008060008060c08789031215613357578384fd5b863561336281613f93565b9550602087013561337281613f93565b94506040870135935060608701359250608087013561339081613fb8565b915060a087013567ffffffffffffffff8111156133ab578182fd5b61326389828a01612ea2565b600080600080600060a08688031215613163578283fd5b600080604083850312156133e0578182fd5b82356133eb81613f93565b9150602083013561305781613fb8565b60008060008060808587031215613410578182fd5b843561341b81613f93565b935060208501359250604085013567ffffffffffffffff8082111561343e578384fd5b61344a88838901612ea2565b9350606087013591508082111561345f578283fd5b5061346c87828801612ea2565b91505092959194509250565b6000806040838503121561348a578182fd5b823561349581613f93565b946020939093013593505050565b600080604083850312156134b5578182fd5b823567ffffffffffffffff808211156134cc578384fd5b818501915085601f8301126134df578384fd5b81356134ed612e5282613f09565b80828252602080830192508086018a82838702890101111561350d578889fd5b8896505b8487101561353857803561352481613f93565b845260019690960195928101928101613511565b50909650870135935050508082111561354f578283fd5b5061355c85828601612e34565b9150509250929050565b600060208284031215613577578081fd5b8151612b6781613fb8565b600060208284031215613593578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612b67578182fd5b600080604083850312156135d4578182fd5b825167ffffffffffffffff808211156135eb578384fd5b6135f786838701612ef0565b9350602085015191508082111561360c578283fd5b5061355c85828601612ef0565b60006020828403121561362a578081fd5b815167ffffffffffffffff811115613640578182fd5b6119af84828501612f3d565b6000806040838503121561365e578182fd5b825167ffffffffffffffff80821115613675578384fd5b6135f786838701612f3d565b600060208284031215613692578081fd5b5035919050565b815160009082906020808601845b838110156136c3578151855293820193908201906001016136a7565b50929695505050505050565b600084516136e1818460208901613f67565b91909101928352506020820152604001919050565b60008451613708818460208901613f67565b82018481528351613720816020808501908801613f67565b0160200195945050505050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020808252825182820181905260009190848201906040850190845b8181101561382557835183529284019291840191600101613809565b50909695505050505050565b901515815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529290931660408501526060840152608083019190915260a082015260c00190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6020808252602d908201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260408201527f4543545f4d53475f56414c554500000000000000000000000000000000000000606082015260800190565b6020808252602b908201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960408201527f445f524543495049454e54000000000000000000000000000000000000000000606082015260800190565b6020808252603c908201527f4d657461455243323057726170706572236f6e4552433131353552656365697660408201527f65643a20494e56414c49445f455243313135355f524543454956454400000000606082015260800190565b6020808252602c908201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560408201527f4c4c5f4d53475f56414c55450000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4d657461455243323057726170706572236465706f7369743a205452414e534660408201527f45525f4641494c45440000000000000000000000000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60408201527f3a20494e56414c49445f524543495049454e5400000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f5349474e415455524500000000000000000000000000606082015260800190565b60208082526041908201527f4d657461455243323057726170706572236f6e4552433131353542617463685260408201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560608201527f4400000000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252602c908201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60408201527f49445f524543495049454e540000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4d657461455243323057726170706572236765744964416464726573733a205560408201527f4e524547495354455245445f544f4b454e000000000000000000000000000000606082015260800190565b60208082526032908201527f455243313135354d657461235f7472616e736665724761734665653a2045524360408201527f32305f5452414e534645525f4641494c45440000000000000000000000000000606082015260800190565b60208082526038908201527f455243313135354d657461236d6574615361666542617463685472616e73666560408201527f7246726f6d3a20494e56414c49445f524543495049454e540000000000000000606082015260800190565b6020808252602a908201527f4d6574614552433230577261707065722377697468647261773a205452414e5360408201527f4645525f4641494c454400000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260408201527f4547495354455245445f544f4b454e0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f4e4f4e43450000000000000000000000000000000000606082015260800190565b6020808252602e908201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360408201527f5550504f525445445f544f4b454e000000000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715613f0157fe5b604052919050565b600067ffffffffffffffff821115613f1d57fe5b5060209081020190565b600067ffffffffffffffff821115613f3b57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015613f82578181015183820152602001613f6a565b838111156106be5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114613fb557600080fd5b50565b8015158114613fb557600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245444552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f524551554952454445524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e455245524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f524551554952454445524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147454c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a2646970667358221220a4ec81b129ce0a0417cc8bb8f1b8c1105fb1a042cb2142d1808dc63ea0e3ebe864736f6c63430007040033", - "deployedBytecode": "0x6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610391578063f5d4c820146103b1578063fa4e12d7146103d15761015a565b8063e985e9c514610351578063f23a6e61146103715761015a565b8063bc197c81116100a5578063bc197c81146102e4578063ce0b514b14610311578063d9caed12146103315761015a565b8063a22cb465146102a4578063a3d4926e146102c45761015a565b80634e1273f4116101175780637358e9a5116100fc5780637358e9a51461024f5780638340f5491461027c5780639040a9491461028f5761015a565b80634e1273f41461020257806363f8071c1461022f5761015a565b8062fdd58e1461015f57806301ffc9a7146101955780632d0335ab146101c25780632eb2c2d6146101e25761015a565b3661015a57610158600133346103f1565b005b600080fd5b34801561016b57600080fd5b5061017f61017a366004613478565b6106c4565b60405161018c9190613edc565b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004613582565b6106f7565b60405161018c9190613831565b3480156101ce57600080fd5b5061017f6101dd366004612fc5565b6107de565b3480156101ee57600080fd5b506101586101fd366004613270565b610806565b34801561020e57600080fd5b5061022261021d3660046134a3565b610911565b60405161018c91906137ed565b34801561023b57600080fd5b5061017f61024a366004612fc5565b610a5d565b34801561025b57600080fd5b5061026f61026a366004613681565b610aba565b60405161018c9190613730565b61015861028a36600461332b565b6103f1565b34801561029b57600080fd5b5061017f610b16565b3480156102b057600080fd5b506101586102bf3660046133ce565b610b1c565b3480156102d057600080fd5b506101586102df3660046131b3565b610bb5565b3480156102f057600080fd5b506103046102ff366004613062565b610d29565b60405161018c91906138b9565b34801561031d57600080fd5b5061015861032c36600461333f565b610df3565b34801561033d57600080fd5b5061015861034c36600461310c565b610ed2565b34801561035d57600080fd5b506101b561036c36600461302a565b610eeb565b34801561037d57600080fd5b5061030461038c36600461314c565b610f26565b34801561039d57600080fd5b506101586103ac3660046133b7565b610fa2565b3480156103bd57600080fd5b506101586103cc3660046132be565b6110a6565b3480156103dd57600080fd5b506101b56103ec3660046133fb565b6111d6565b73ffffffffffffffffffffffffffffffffffffffff8216610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613943565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461066657341561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139fd565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906104f590339030908790600401613751565b602060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105479190613566565b506105506119b7565b610586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613a5a565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600460205260409020548061065c576003805460010190819055600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600490915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f9061064f9087908590613782565b60405180910390a1610660565b8091505b506106a3565b34821461069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906138e6565b5060015b6106be838284604051806020016040528060008152506119eb565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061078a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107d657507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b3373ffffffffffffffffffffffffffffffffffffffff8616148061082f575061082f8533610eeb565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806141be602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166108f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061412f6030913960400191505060405180910390fd5b6108fc85858585611aa0565b61090a858585855a86611df4565b5050505050565b6060815183511461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061415f602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561098757600080fd5b506040519080825280602002602001820160405280156109b1578160200160208202803683370190505b50905060005b8451811015610a55576000808683815181106109cf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a1f57fe5b6020026020010151815260200190815260200160002054828281518110610a4257fe5b60209081029190910101526001016109b7565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902054806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613dc5565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff16806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613c51565b60035490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d0b565b6060610c0c612df6565b6060610cbf89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c604051602001610c4a9190613699565b604051602081830303815290604052805190602001208c604051602001610c719190613699565b604051602081830303815290604052805190602001208c610c93576000610c96565b60015b604051602001610cab9695949392919061383c565b604051602081830303815290604052612061565b9050610ccd89898989611aa0565b8415610d105780806020019051810190610ce7919061364c565b8094508193505050610d0189898989866020015188611df4565b610d0b8983612230565b610d1e565b610d1e898989895a86611df4565b505050505050505050565b6000333014610d64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b71565b60005b8451811015610dc757610d8c858281518110610d7f57fe5b6020026020010151610aba565b50610dbf3087878481518110610d9e57fe5b6020026020010151878581518110610db257fe5b60200260200101516124d9565b600101610d67565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613ab7565b6060610e4a612df6565b6060610e8289857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c610c93576000610c96565b9050610e90898989896126da565b8415610ec45780806020019051810190610eaa919061364c565b8094508193505050610d01898989898660200151886127dd565b610d1e898989895a866127dd565b6000610edd84610a5d565b90506106be338483856124d9565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610f61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139a0565b610f6a84610aba565b50610f77308686866124d9565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610fcb5750610fcb8533610eeb565b611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614029602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613fc7602b913960400191505060405180910390fd5b611098858585856126da565b61090a858585855a866127dd565b606061110286837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896110dc5760006110df565b60015b896110eb5760006110ee565b60015b604051602001610cab95949392919061387d565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b16808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168915151790555192935090917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611196908890613831565b60405180910390a382156111ce576111ac612df6565b818060200190518101906111c09190613619565b90506111cc8782612230565b505b505050505050565b600080825111611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260438152602001806141ed6043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661129d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061418b6033913960400191505060405180910390fd5b60006112a8836129ce565b60f81c905060058110611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b60008160ff16600581111561131757fe5b905060008080808085600581111561132b57fe5b1415611382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806140c26036913960400191505060405180910390fd5b600185600581111561139057fe5b14156114d35787516061146113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b6113fb886000612a8b565b9250611408886020612a8b565b91508760408151811061141757fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611481573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506119af9650505050505050565b60028560058111156114e157fe5b1415611631578751606114611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b61154c886000612a8b565b9250611559886020612a8b565b91508760408151811061156857fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611481573d6000803e3d6000fd5b600385600581111561163f57fe5b14156117f757604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b838110156116cd5781810151838201526020016116b5565b50505050905090810190601f1680156116fa5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561172d578181015183820152602001611715565b50505050905090810190601f16801561175a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561177957600080fd5b505afa15801561178d573d6000803e3d6000fd5b505050506040513d60208110156117a357600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b600485600581111561180557fe5b141561195e57604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b8381101561189557818101518382015260200161187d565b50505050905090810190601f1680156118c25780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b949350505050565b6000803d80156119ce57602081146119d7576119e3565b600191506119e3565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054611a249083612af3565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46106be60008585855a866127dd565b8051825114611afa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806140536035913960400191505060405180910390fd5b815160005b81811015611cec57611b8f838281518110611b1657fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b6a57fe5b6020026020010151815260200190815260200160002054612b6e90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611bdb57fe5b6020026020010151815260200190815260200160002081905550611c7d838281518110611c0457fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611c5857fe5b6020026020010151815260200190815260200160002054612af390919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611cc957fe5b602090810291909101810151825281019190915260400160002055600101611aff565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611d99578181015183820152602001611d81565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611dd8578181015183820152602001611dc0565b5050505090500194505050505060405180910390a45050505050565b611e138573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611ecb578181015183820152602001611eb3565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611f0a578181015183820152602001611ef2565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611f46578181015183820152602001611f2e565b50505050905090810190601f168015611f735780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611f9857600080fd5b5087f1158015611fac573d6000803e3d6000fd5b50505050506040513d6020811015611fc357600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180614230603f913960400191505060405180910390fd5b6060808380602001905181019061207891906135c2565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260026020526040812054919450919250906120b0836041612a8b565b90508181108015906120c457508160640181105b6120fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e22565b60006121368683878051906020012060405160200161211b939291906136cf565b60405160208183030381529060405280519060200120612c1c565b9050606086838760405160200161214f939291906136f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825273ffffffffffffffffffffffffffffffffffffffff8c166000818152600260205292909220600187019081905590935090917fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59916121da91613edc565b60405180910390a26121ee898383886111d6565b612224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b14565b50505050509392505050565b600061223f82606001516129ce565b60f81c90506002811061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e7f565b60008160ff16600281111561228f57fe5b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff16156122c55786604001516122c7565b335b925060008560028111156122d757fe5b14156123d65786606001518060200190518101906122f59190612ffd565b909450915073ffffffffffffffffffffffffffffffffffffffff841630141561234657612324888484846126da565b6123418884845a85604051806020016040528060008152506127dd565b6123d1565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f242432a9061239e908b908790879087906004016137a8565b600060405180830381600087803b1580156123b857600080fd5b505af11580156123cc573d6000803e3d6000fd5b505050505b6124cf565b86606001518060200190518101906123ee9190612fe1565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290945073ffffffffffffffffffffffffffffffffffffffff8516906323b872dd90612447908b9087908690600401613751565b602060405180830381600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124999190613566565b6124cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613cae565b5050505050505050565b6124e4848383612d4b565b600182146125ea57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690819063a9059cbb906125539087908690600401613782565b602060405180830381600087803b15801561256d57600080fd5b505af1158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a59190613566565b506125ae6119b7565b6125e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b506106be565b73ffffffffffffffffffffffffffffffffffffffff8316612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613bf4565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161265d9061372d565b60006040518083038185875af1925050503d806000811461269a576040519150601f19603f3d011682016040523d82523d6000602084013e61269f565b606091505b505090508061090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546127139082612b6e565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260208181526040808320878452825280832094909455918616815280825282812085825290915220546127639082612af3565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6127fc8573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156128b557818101518382015260200161289d565b50505050905090810190601f1680156128e25780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561290557600080fd5b5087f1158015612919573d6000803e3d6000fd5b50505050506040513d602081101561293057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061426f603a913960400191505060405180910390fd5b600080825111612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180613ff26037913960400191505060405180910390fd5b81600183510381518110612a3957fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60008160200183511015612aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806142a9603c913960400191505060405180910390fd5b50016020015190565b600082820183811015612b6757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b600082821115612bdf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f8015801590612b6757507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b604080518082018252600281527f1901000000000000000000000000000000000000000000000000000000000000602080830191825283517f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d47498183015230818601528451808203860181526060820190955284519490910193909320825160009491928692608001918291908083835b60208310612ce957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612cac565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054612d849082612b6e565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600082601f830112612e44578081fd5b8135612e57612e5282613f09565b613ee5565b818152915060208083019084810181840286018201871015612e7857600080fd5b60005b84811015612e9757813584529282019290820190600101612e7b565b505050505092915050565b600082601f830112612eb2578081fd5b8135612ec0612e5282613f27565b9150808252836020828501011115612ed757600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612f00578081fd5b8151612f0e612e5282613f27565b9150808252836020828501011115612f2557600080fd5b612f36816020840160208601613f67565b5092915050565b600060808284031215612f4e578081fd5b6040516080810167ffffffffffffffff8282108183111715612f6c57fe5b81604052829350845183526020850151602084015260408501519150612f9182613f93565b8160408401526060850151915080821115612fab57600080fd5b50612fb885828601612ef0565b6060830152505092915050565b600060208284031215612fd6578081fd5b8135612b6781613f93565b600060208284031215612ff2578081fd5b8151612b6781613f93565b6000806040838503121561300f578081fd5b825161301a81613f93565b6020939093015192949293505050565b6000806040838503121561303c578182fd5b823561304781613f93565b9150602083013561305781613f93565b809150509250929050565b600080600080600060a08688031215613079578081fd5b853561308481613f93565b9450602086013561309481613f93565b9350604086013567ffffffffffffffff808211156130b0578283fd5b6130bc89838a01612e34565b945060608801359150808211156130d1578283fd5b6130dd89838a01612e34565b935060808801359150808211156130f2578283fd5b506130ff88828901612ea2565b9150509295509295909350565b600080600060608486031215613120578283fd5b833561312b81613f93565b9250602084013561313b81613f93565b929592945050506040919091013590565b600080600080600060a08688031215613163578081fd5b853561316e81613f93565b9450602086013561317e81613f93565b93506040860135925060608601359150608086013567ffffffffffffffff8111156131a7578182fd5b6130ff88828901612ea2565b60008060008060008060c087890312156131cb578384fd5b86356131d681613f93565b955060208701356131e681613f93565b9450604087013567ffffffffffffffff80821115613202578586fd5b61320e8a838b01612e34565b95506060890135915080821115613223578283fd5b61322f8a838b01612e34565b94506080890135915061324182613fb8565b90925060a08801359080821115613256578283fd5b5061326389828a01612ea2565b9150509295509295509295565b600080600080600060a08688031215613287578283fd5b853561329281613f93565b945060208601356132a281613f93565b9350604086013567ffffffffffffffff808211156130b0578485fd5b600080600080600060a086880312156132d5578283fd5b85356132e081613f93565b945060208601356132f081613f93565b9350604086013561330081613fb8565b9250606086013561331081613fb8565b9150608086013567ffffffffffffffff8111156131a7578182fd5b600080600060608486031215613120578081fd5b60008060008060008060c08789031215613357578384fd5b863561336281613f93565b9550602087013561337281613f93565b94506040870135935060608701359250608087013561339081613fb8565b915060a087013567ffffffffffffffff8111156133ab578182fd5b61326389828a01612ea2565b600080600080600060a08688031215613163578283fd5b600080604083850312156133e0578182fd5b82356133eb81613f93565b9150602083013561305781613fb8565b60008060008060808587031215613410578182fd5b843561341b81613f93565b935060208501359250604085013567ffffffffffffffff8082111561343e578384fd5b61344a88838901612ea2565b9350606087013591508082111561345f578283fd5b5061346c87828801612ea2565b91505092959194509250565b6000806040838503121561348a578182fd5b823561349581613f93565b946020939093013593505050565b600080604083850312156134b5578182fd5b823567ffffffffffffffff808211156134cc578384fd5b818501915085601f8301126134df578384fd5b81356134ed612e5282613f09565b80828252602080830192508086018a82838702890101111561350d578889fd5b8896505b8487101561353857803561352481613f93565b845260019690960195928101928101613511565b50909650870135935050508082111561354f578283fd5b5061355c85828601612e34565b9150509250929050565b600060208284031215613577578081fd5b8151612b6781613fb8565b600060208284031215613593578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612b67578182fd5b600080604083850312156135d4578182fd5b825167ffffffffffffffff808211156135eb578384fd5b6135f786838701612ef0565b9350602085015191508082111561360c578283fd5b5061355c85828601612ef0565b60006020828403121561362a578081fd5b815167ffffffffffffffff811115613640578182fd5b6119af84828501612f3d565b6000806040838503121561365e578182fd5b825167ffffffffffffffff80821115613675578384fd5b6135f786838701612f3d565b600060208284031215613692578081fd5b5035919050565b815160009082906020808601845b838110156136c3578151855293820193908201906001016136a7565b50929695505050505050565b600084516136e1818460208901613f67565b91909101928352506020820152604001919050565b60008451613708818460208901613f67565b82018481528351613720816020808501908801613f67565b0160200195945050505050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020808252825182820181905260009190848201906040850190845b8181101561382557835183529284019291840191600101613809565b50909695505050505050565b901515815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529290931660408501526060840152608083019190915260a082015260c00190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6020808252602d908201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260408201527f4543545f4d53475f56414c554500000000000000000000000000000000000000606082015260800190565b6020808252602b908201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960408201527f445f524543495049454e54000000000000000000000000000000000000000000606082015260800190565b6020808252603c908201527f4d657461455243323057726170706572236f6e4552433131353552656365697660408201527f65643a20494e56414c49445f455243313135355f524543454956454400000000606082015260800190565b6020808252602c908201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560408201527f4c4c5f4d53475f56414c55450000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4d657461455243323057726170706572236465706f7369743a205452414e534660408201527f45525f4641494c45440000000000000000000000000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60408201527f3a20494e56414c49445f524543495049454e5400000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f5349474e415455524500000000000000000000000000606082015260800190565b60208082526041908201527f4d657461455243323057726170706572236f6e4552433131353542617463685260408201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560608201527f4400000000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252602c908201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60408201527f49445f524543495049454e540000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4d657461455243323057726170706572236765744964416464726573733a205560408201527f4e524547495354455245445f544f4b454e000000000000000000000000000000606082015260800190565b60208082526032908201527f455243313135354d657461235f7472616e736665724761734665653a2045524360408201527f32305f5452414e534645525f4641494c45440000000000000000000000000000606082015260800190565b60208082526038908201527f455243313135354d657461236d6574615361666542617463685472616e73666560408201527f7246726f6d3a20494e56414c49445f524543495049454e540000000000000000606082015260800190565b6020808252602a908201527f4d6574614552433230577261707065722377697468647261773a205452414e5360408201527f4645525f4641494c454400000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260408201527f4547495354455245445f544f4b454e0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f4e4f4e43450000000000000000000000000000000000606082015260800190565b6020808252602e908201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360408201527f5550504f525445445f544f4b454e000000000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715613f0157fe5b604052919050565b600067ffffffffffffffff821115613f1d57fe5b5060209081020190565b600067ffffffffffffffff821115613f3b57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015613f82578181015183820152602001613f6a565b838111156106be5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114613fb557600080fd5b50565b8015158114613fb557600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245444552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f524551554952454445524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e455245524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f524551554952454445524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147454c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a2646970667358221220a4ec81b129ce0a0417cc8bb8f1b8c1105fb1a042cb2142d1808dc63ea0e3ebe864736f6c63430007040033", + "bytecode": "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033", + "deployedBytecode": "0x6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/gen/adapter/common.js b/src/gen/adapter/common.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/common.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/factories/ERC20Wrapper__factory.js b/src/gen/adapter/factories/ERC20Wrapper__factory.js deleted file mode 100644 index 5d83017..0000000 --- a/src/gen/adapter/factories/ERC20Wrapper__factory.js +++ /dev/null @@ -1,525 +0,0 @@ -"use strict"; -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -exports.__esModule = true; -exports.ERC20Wrapper__factory = void 0; -var ethers_1 = require("ethers"); -var ERC20Wrapper__factory = /** @class */ (function (_super) { - __extends(ERC20Wrapper__factory, _super); - function ERC20Wrapper__factory(signer) { - return _super.call(this, _abi, _bytecode, signer) || this; - } - ERC20Wrapper__factory.prototype.deploy = function (overrides) { - return _super.prototype.deploy.call(this, overrides || {}); - }; - ERC20Wrapper__factory.prototype.getDeployTransaction = function (overrides) { - return _super.prototype.getDeployTransaction.call(this, overrides || {}); - }; - ERC20Wrapper__factory.prototype.attach = function (address) { - return _super.prototype.attach.call(this, address); - }; - ERC20Wrapper__factory.prototype.connect = function (signer) { - return _super.prototype.connect.call(this, signer); - }; - ERC20Wrapper__factory.connect = function (address, signerOrProvider) { - return new ethers_1.Contract(address, _abi, signerOrProvider); - }; - return ERC20Wrapper__factory; -}(ethers_1.ContractFactory)); -exports.ERC20Wrapper__factory = ERC20Wrapper__factory; -var _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_owner", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address" - }, - { - indexed: false, - internalType: "bool", - name: "_approved", - type: "bool" - }, - ], - name: "ApprovalForAll", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "token_address", - type: "address" - }, - { - indexed: false, - internalType: "uint256", - name: "token_id", - type: "uint256" - }, - ], - name: "TokenRegistration", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address" - }, - { - indexed: false, - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - indexed: false, - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]" - }, - ], - name: "TransferBatch", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address" - }, - { - indexed: false, - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - indexed: false, - internalType: "uint256", - name: "_amount", - type: "uint256" - }, - ], - name: "TransferSingle", - type: "event" - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address[]", - name: "_owners", - type: "address[]" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - ], - name: "balanceOfBatch", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address" - }, - { - internalType: "address", - name: "_recipient", - type: "address" - }, - { - internalType: "uint256", - name: "_value", - type: "uint256" - }, - ], - name: "deposit", - outputs: [], - stateMutability: "payable", - type: "function" - }, - { - inputs: [ - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - ], - name: "getIdAddress", - outputs: [ - { - internalType: "address", - name: "token", - type: "address" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [], - name: "getNTokens", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address" - }, - ], - name: "getTokenID", - outputs: [ - { - internalType: "uint256", - name: "tokenID", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address" - }, - { - internalType: "address", - name: "_operator", - type: "address" - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "isOperator", - type: "bool" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "address payable", - name: "_from", - type: "address" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - internalType: "uint256[]", - name: "_values", - type: "uint256[]" - }, - { - internalType: "bytes", - name: "", - type: "bytes" - }, - ], - name: "onERC1155BatchReceived", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4" - }, - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "address payable", - name: "_from", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - internalType: "uint256", - name: "_value", - type: "uint256" - }, - { - internalType: "bytes", - name: "", - type: "bytes" - }, - ], - name: "onERC1155Received", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4" - }, - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address" - }, - { - internalType: "address", - name: "_to", - type: "address" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "safeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address" - }, - { - internalType: "address", - name: "_to", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "safeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_operator", - type: "address" - }, - { - internalType: "bool", - name: "_approved", - type: "bool" - }, - ], - name: "setApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "bytes4", - name: "interfaceID", - type: "bytes4" - }, - ], - name: "supportsInterface", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool" - }, - ], - stateMutability: "pure", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address" - }, - { - internalType: "address payable", - name: "_to", - type: "address" - }, - { - internalType: "uint256", - name: "_value", - type: "uint256" - }, - ], - name: "withdraw", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - stateMutability: "payable", - type: "receive" - }, -]; -var _bytecode = "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556125a38061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed121461026a578063e985e9c51461028a578063f23a6e61146102aa578063f242432a146102ca576100f3565b80639040a94914610208578063a22cb4651461021d578063bc197c811461023d576100f3565b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f549146101f5576100f3565b8062fdd58e146100f857806301ffc9a71461012e5780632eb2c2d61461015b576100f3565b366100f3576100f1600133346102ea565b005b600080fd5b34801561010457600080fd5b50610118610113366004611d66565b6105bd565b6040516101259190612361565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004611e70565b6105f0565b6040516101259190611f87565b34801561016757600080fd5b506100f1610176366004611be8565b6106d7565b34801561018757600080fd5b5061019b610196366004611d91565b6107e2565b6040516101259190611f43565b3480156101b457600080fd5b506101186101c3366004611b94565b61092e565b3480156101d457600080fd5b506101e86101e3366004611eb0565b61098b565b6040516101259190611ecb565b6100f1610203366004611c92565b6102ea565b34801561021457600080fd5b506101186109e7565b34801561022957600080fd5b506100f1610238366004611d39565b6109ed565b34801561024957600080fd5b5061025d610258366004611be8565b610a86565b6040516101259190611f92565b34801561027657600080fd5b506100f1610285366004611c92565b610b50565b34801561029657600080fd5b5061014e6102a5366004611bb0565b610b69565b3480156102b657600080fd5b5061025d6102c5366004611cd2565b610ba4565b3480156102d657600080fd5b506100f16102e5366004611cd2565b610c20565b73ffffffffffffffffffffffffffffffffffffffff8216610340576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612133565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461055f573415610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612190565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906103ee90339030908790600401611eec565b602060405180830381600087803b15801561040857600080fd5b505af115801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611e54565b50610449610d24565b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790611fbf565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604090205480610555576002805460010190819055600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600390915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f906105489087908590611f1d565b60405180910390a1610559565b8091505b5061059c565b348214610598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612079565b5060015b6105b783828460405180602001604052806000815250610d58565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061068357507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806106cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061070057506107008533610b69565b610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124c6602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166107c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061246a6030913960400191505060405180910390fd5b6107cd85858585610e0d565b6107db858585855a86611161565b5050505050565b6060815183511461083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061249a602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561085857600080fd5b50604051908082528060200260200182016040528015610882578160200160208202803683370190505b50905060005b8451811015610926576000808683815181106108a057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106108f057fe5b602002602001015181526020019081526020016000205482828151811061091357fe5b6020908102919091010152600101610888565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906122a7565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906120d6565b60025490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000333014610ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612304565b60005b8451811015610b2457610ae9858281518110610adc57fe5b602002602001015161098b565b50610b1c3087878481518110610afb57fe5b6020026020010151878581518110610b0f57fe5b60200260200101516113d8565b600101610ac4565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610b5b8461092e565b90506105b7338483856113d8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610bdf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061224a565b610be88461098b565b50610bf5308686866113d8565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610c495750610c498533610b69565b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061240b602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806123e0602b913960400191505060405180910390fd5b610d16858585856115d9565b6107db858585855a866116dc565b6000803d8015610d3b5760208114610d4457610d50565b60019150610d50565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054610d9190836118cd565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46105b760008585855a866116dc565b8051825114610e67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806124356035913960400191505060405180910390fd5b815160005b8181101561105957610efc838281518110610e8357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610ed757fe5b602002602001015181526020019081526020016000205461194890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f4857fe5b6020026020010151815260200190815260200160002081905550610fea838281518110610f7157fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610fc557fe5b60200260200101518152602001908152602001600020546118cd90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061103657fe5b602090810291909101810151825281019190915260400160002055600101610e6c565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156111065781810151838201526020016110ee565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561114557818101518382015260200161112d565b5050505090500194505050505060405180910390a45050505050565b6111808573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611238578181015183820152602001611220565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561127757818101518382015260200161125f565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156112b357818101518382015260200161129b565b50505050905090810190601f1680156112e05780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561130557600080fd5b5087f1158015611319573d6000803e3d6000fd5b50505050506040513d602081101561133057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806124f5603f913960400191505060405180910390fd5b505b505050505050565b6113e38483836119f6565b600182146114e9576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691829163a9059cbb91611452918891879101611f1d565b602060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190611e54565b506114ad610d24565b6114e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b506105b7565b73ffffffffffffffffffffffffffffffffffffffff8316611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061201c565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161155c90611ec8565b60006040518083038185875af1925050503d8060008114611599576040519150601f19603f3d011682016040523d82523d6000602084013e61159e565b606091505b50509050806107db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546116129082611948565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461166290826118cd565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6116fb8573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117b457818101518382015260200161179c565b50505050905090810190601f1680156117e15780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561180457600080fd5b5087f1158015611818573d6000803e3d6000fd5b50505050506040513d602081101561182f57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612534603a913960400191505060405180910390fd5b60008282018381101561194157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000828211156119b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f801580159061194157507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054611a2f9082611948565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b600082601f830112611ab1578081fd5b8135611ac4611abf8261238e565b61236a565b818152915060208083019084810181840286018201871015611ae557600080fd5b60005b84811015611b0457813584529282019290820190600101611ae8565b505050505092915050565b600082601f830112611b1f578081fd5b813567ffffffffffffffff811115611b3357fe5b611b6460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161236a565b9150808252836020828501011115611b7b57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ba5578081fd5b8135611941816123ac565b60008060408385031215611bc2578081fd5b8235611bcd816123ac565b91506020830135611bdd816123ac565b809150509250929050565b600080600080600060a08688031215611bff578081fd5b8535611c0a816123ac565b94506020860135611c1a816123ac565b9350604086013567ffffffffffffffff80821115611c36578283fd5b611c4289838a01611aa1565b94506060880135915080821115611c57578283fd5b611c6389838a01611aa1565b93506080880135915080821115611c78578283fd5b50611c8588828901611b0f565b9150509295509295909350565b600080600060608486031215611ca6578283fd5b8335611cb1816123ac565b92506020840135611cc1816123ac565b929592945050506040919091013590565b600080600080600060a08688031215611ce9578081fd5b8535611cf4816123ac565b94506020860135611d04816123ac565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d2d578182fd5b611c8588828901611b0f565b60008060408385031215611d4b578182fd5b8235611d56816123ac565b91506020830135611bdd816123d1565b60008060408385031215611d78578182fd5b8235611d83816123ac565b946020939093013593505050565b60008060408385031215611da3578182fd5b823567ffffffffffffffff80821115611dba578384fd5b818501915085601f830112611dcd578384fd5b8135611ddb611abf8261238e565b80828252602080830192508086018a828387028901011115611dfb578889fd5b8896505b84871015611e26578035611e12816123ac565b845260019690960195928101928101611dff565b509096508701359350505080821115611e3d578283fd5b50611e4a85828601611aa1565b9150509250929050565b600060208284031215611e65578081fd5b8151611941816123d1565b600060208284031215611e81578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611941578182fd5b600060208284031215611ec1578081fd5b5035919050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611f7b57835183529284019291840191600101611f5f565b50909695505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60208082526025908201527f455243323057726170706572236465706f7369743a205452414e534645525f4660408201527f41494c4544000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260408201527f4543495049454e54000000000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60408201527f4d53475f56414c55450000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f455243323057726170706572236765744964416464726573733a20554e52454760408201527f495354455245445f544f4b454e00000000000000000000000000000000000000606082015260800190565b60208082526027908201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560408201527f43495049454e5400000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60408201527f53475f56414c5545000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4552433230577261707065722377697468647261773a205452414e534645525f60408201527f4641494c45440000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f455243323057726170706572236f6e4552433131353552656365697665643a2060408201527f494e56414c49445f455243313135355f52454345495645440000000000000000606082015260800190565b6020808252602b908201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360408201527f54455245445f544f4b454e000000000000000000000000000000000000000000606082015260800190565b6020808252603d908201527f455243323057726170706572236f6e455243313135354261746368526563656960408201527f7665643a20494e56414c49445f455243313135355f5245434549564544000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561238657fe5b604052919050565b600067ffffffffffffffff8211156123a257fe5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff811681146123ce57600080fd5b50565b80151581146123ce57600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a26469706673582212209b9a748efe94203a5aaf6008a2e2df5831d30525ad43b3dd67a99a2904877f8a64736f6c63430007040033"; diff --git a/src/gen/adapter/factories/MetaERC20Wrapper__factory.js b/src/gen/adapter/factories/MetaERC20Wrapper__factory.js deleted file mode 100644 index 385ea70..0000000 --- a/src/gen/adapter/factories/MetaERC20Wrapper__factory.js +++ /dev/null @@ -1,706 +0,0 @@ -"use strict"; -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -exports.__esModule = true; -exports.MetaERC20Wrapper__factory = void 0; -var ethers_1 = require("ethers"); -var MetaERC20Wrapper__factory = /** @class */ (function (_super) { - __extends(MetaERC20Wrapper__factory, _super); - function MetaERC20Wrapper__factory(signer) { - return _super.call(this, _abi, _bytecode, signer) || this; - } - MetaERC20Wrapper__factory.prototype.deploy = function (overrides) { - return _super.prototype.deploy.call(this, overrides || {}); - }; - MetaERC20Wrapper__factory.prototype.getDeployTransaction = function (overrides) { - return _super.prototype.getDeployTransaction.call(this, overrides || {}); - }; - MetaERC20Wrapper__factory.prototype.attach = function (address) { - return _super.prototype.attach.call(this, address); - }; - MetaERC20Wrapper__factory.prototype.connect = function (signer) { - return _super.prototype.connect.call(this, signer); - }; - MetaERC20Wrapper__factory.connect = function (address, signerOrProvider) { - return new ethers_1.Contract(address, _abi, signerOrProvider); - }; - return MetaERC20Wrapper__factory; -}(ethers_1.ContractFactory)); -exports.MetaERC20Wrapper__factory = MetaERC20Wrapper__factory; -var _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_owner", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address" - }, - { - indexed: false, - internalType: "bool", - name: "_approved", - type: "bool" - }, - ], - name: "ApprovalForAll", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "signer", - type: "address" - }, - { - indexed: false, - internalType: "uint256", - name: "newNonce", - type: "uint256" - }, - ], - name: "NonceChange", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "token_address", - type: "address" - }, - { - indexed: false, - internalType: "uint256", - name: "token_id", - type: "uint256" - }, - ], - name: "TokenRegistration", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address" - }, - { - indexed: false, - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - indexed: false, - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]" - }, - ], - name: "TransferBatch", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address" - }, - { - indexed: false, - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - indexed: false, - internalType: "uint256", - name: "_amount", - type: "uint256" - }, - ], - name: "TransferSingle", - type: "event" - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address[]", - name: "_owners", - type: "address[]" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - ], - name: "balanceOfBatch", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address" - }, - { - internalType: "address", - name: "_recipient", - type: "address" - }, - { - internalType: "uint256", - name: "_value", - type: "uint256" - }, - ], - name: "deposit", - outputs: [], - stateMutability: "payable", - type: "function" - }, - { - inputs: [ - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - ], - name: "getIdAddress", - outputs: [ - { - internalType: "address", - name: "token", - type: "address" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [], - name: "getNTokens", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_signer", - type: "address" - }, - ], - name: "getNonce", - outputs: [ - { - internalType: "uint256", - name: "nonce", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address" - }, - ], - name: "getTokenID", - outputs: [ - { - internalType: "uint256", - name: "tokenID", - type: "uint256" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address" - }, - { - internalType: "address", - name: "_operator", - type: "address" - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "isOperator", - type: "bool" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_signerAddress", - type: "address" - }, - { - internalType: "bytes32", - name: "_hash", - type: "bytes32" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - { - internalType: "bytes", - name: "_sig", - type: "bytes" - }, - ], - name: "isValidSignature", - outputs: [ - { - internalType: "bool", - name: "isValid", - type: "bool" - }, - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address" - }, - { - internalType: "address", - name: "_to", - type: "address" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]" - }, - { - internalType: "bool", - name: "_isGasFee", - type: "bool" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "metaSafeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address" - }, - { - internalType: "address", - name: "_to", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256" - }, - { - internalType: "bool", - name: "_isGasFee", - type: "bool" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "metaSafeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address" - }, - { - internalType: "address", - name: "_operator", - type: "address" - }, - { - internalType: "bool", - name: "_approved", - type: "bool" - }, - { - internalType: "bool", - name: "_isGasFee", - type: "bool" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "metaSetApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "address payable", - name: "_from", - type: "address" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - internalType: "uint256[]", - name: "_values", - type: "uint256[]" - }, - { - internalType: "bytes", - name: "", - type: "bytes" - }, - ], - name: "onERC1155BatchReceived", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4" - }, - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "address payable", - name: "_from", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - internalType: "uint256", - name: "_value", - type: "uint256" - }, - { - internalType: "bytes", - name: "", - type: "bytes" - }, - ], - name: "onERC1155Received", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4" - }, - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address" - }, - { - internalType: "address", - name: "_to", - type: "address" - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]" - }, - { - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "safeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address" - }, - { - internalType: "address", - name: "_to", - type: "address" - }, - { - internalType: "uint256", - name: "_id", - type: "uint256" - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256" - }, - { - internalType: "bytes", - name: "_data", - type: "bytes" - }, - ], - name: "safeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_operator", - type: "address" - }, - { - internalType: "bool", - name: "_approved", - type: "bool" - }, - ], - name: "setApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "bytes4", - name: "interfaceID", - type: "bytes4" - }, - ], - name: "supportsInterface", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool" - }, - ], - stateMutability: "pure", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address" - }, - { - internalType: "address payable", - name: "_to", - type: "address" - }, - { - internalType: "uint256", - name: "_value", - type: "uint256" - }, - ], - name: "withdraw", - outputs: [], - stateMutability: "nonpayable", - type: "function" - }, - { - stateMutability: "payable", - type: "receive" - }, -]; -var _bytecode = "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff000000000000000000000000000000000000000016909117905561431a8061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610391578063f5d4c820146103b1578063fa4e12d7146103d15761015a565b8063e985e9c514610351578063f23a6e61146103715761015a565b8063bc197c81116100a5578063bc197c81146102e4578063ce0b514b14610311578063d9caed12146103315761015a565b8063a22cb465146102a4578063a3d4926e146102c45761015a565b80634e1273f4116101175780637358e9a5116100fc5780637358e9a51461024f5780638340f5491461027c5780639040a9491461028f5761015a565b80634e1273f41461020257806363f8071c1461022f5761015a565b8062fdd58e1461015f57806301ffc9a7146101955780632d0335ab146101c25780632eb2c2d6146101e25761015a565b3661015a57610158600133346103f1565b005b600080fd5b34801561016b57600080fd5b5061017f61017a366004613478565b6106c4565b60405161018c9190613edc565b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004613582565b6106f7565b60405161018c9190613831565b3480156101ce57600080fd5b5061017f6101dd366004612fc5565b6107de565b3480156101ee57600080fd5b506101586101fd366004613270565b610806565b34801561020e57600080fd5b5061022261021d3660046134a3565b610911565b60405161018c91906137ed565b34801561023b57600080fd5b5061017f61024a366004612fc5565b610a5d565b34801561025b57600080fd5b5061026f61026a366004613681565b610aba565b60405161018c9190613730565b61015861028a36600461332b565b6103f1565b34801561029b57600080fd5b5061017f610b16565b3480156102b057600080fd5b506101586102bf3660046133ce565b610b1c565b3480156102d057600080fd5b506101586102df3660046131b3565b610bb5565b3480156102f057600080fd5b506103046102ff366004613062565b610d29565b60405161018c91906138b9565b34801561031d57600080fd5b5061015861032c36600461333f565b610df3565b34801561033d57600080fd5b5061015861034c36600461310c565b610ed2565b34801561035d57600080fd5b506101b561036c36600461302a565b610eeb565b34801561037d57600080fd5b5061030461038c36600461314c565b610f26565b34801561039d57600080fd5b506101586103ac3660046133b7565b610fa2565b3480156103bd57600080fd5b506101586103cc3660046132be565b6110a6565b3480156103dd57600080fd5b506101b56103ec3660046133fb565b6111d6565b73ffffffffffffffffffffffffffffffffffffffff8216610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613943565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461066657341561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139fd565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906104f590339030908790600401613751565b602060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105479190613566565b506105506119b7565b610586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613a5a565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600460205260409020548061065c576003805460010190819055600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600490915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f9061064f9087908590613782565b60405180910390a1610660565b8091505b506106a3565b34821461069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906138e6565b5060015b6106be838284604051806020016040528060008152506119eb565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061078a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107d657507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b3373ffffffffffffffffffffffffffffffffffffffff8616148061082f575061082f8533610eeb565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806141be602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166108f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061412f6030913960400191505060405180910390fd5b6108fc85858585611aa0565b61090a858585855a86611df4565b5050505050565b6060815183511461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061415f602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561098757600080fd5b506040519080825280602002602001820160405280156109b1578160200160208202803683370190505b50905060005b8451811015610a55576000808683815181106109cf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a1f57fe5b6020026020010151815260200190815260200160002054828281518110610a4257fe5b60209081029190910101526001016109b7565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902054806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613dc5565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff16806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613c51565b60035490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d0b565b6060610c0c612df6565b6060610cbf89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c604051602001610c4a9190613699565b604051602081830303815290604052805190602001208c604051602001610c719190613699565b604051602081830303815290604052805190602001208c610c93576000610c96565b60015b604051602001610cab9695949392919061383c565b604051602081830303815290604052612061565b9050610ccd89898989611aa0565b8415610d105780806020019051810190610ce7919061364c565b8094508193505050610d0189898989866020015188611df4565b610d0b8983612230565b610d1e565b610d1e898989895a86611df4565b505050505050505050565b6000333014610d64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b71565b60005b8451811015610dc757610d8c858281518110610d7f57fe5b6020026020010151610aba565b50610dbf3087878481518110610d9e57fe5b6020026020010151878581518110610db257fe5b60200260200101516124d9565b600101610d67565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613ab7565b6060610e4a612df6565b6060610e8289857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c610c93576000610c96565b9050610e90898989896126da565b8415610ec45780806020019051810190610eaa919061364c565b8094508193505050610d01898989898660200151886127dd565b610d1e898989895a866127dd565b6000610edd84610a5d565b90506106be338483856124d9565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610f61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139a0565b610f6a84610aba565b50610f77308686866124d9565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610fcb5750610fcb8533610eeb565b611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614029602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613fc7602b913960400191505060405180910390fd5b611098858585856126da565b61090a858585855a866127dd565b606061110286837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896110dc5760006110df565b60015b896110eb5760006110ee565b60015b604051602001610cab95949392919061387d565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b16808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168915151790555192935090917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611196908890613831565b60405180910390a382156111ce576111ac612df6565b818060200190518101906111c09190613619565b90506111cc8782612230565b505b505050505050565b600080825111611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260438152602001806141ed6043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661129d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061418b6033913960400191505060405180910390fd5b60006112a8836129ce565b60f81c905060058110611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b60008160ff16600581111561131757fe5b905060008080808085600581111561132b57fe5b1415611382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806140c26036913960400191505060405180910390fd5b600185600581111561139057fe5b14156114d35787516061146113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b6113fb886000612a8b565b9250611408886020612a8b565b91508760408151811061141757fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611481573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506119af9650505050505050565b60028560058111156114e157fe5b1415611631578751606114611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b61154c886000612a8b565b9250611559886020612a8b565b91508760408151811061156857fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611481573d6000803e3d6000fd5b600385600581111561163f57fe5b14156117f757604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b838110156116cd5781810151838201526020016116b5565b50505050905090810190601f1680156116fa5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561172d578181015183820152602001611715565b50505050905090810190601f16801561175a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561177957600080fd5b505afa15801561178d573d6000803e3d6000fd5b505050506040513d60208110156117a357600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b600485600581111561180557fe5b141561195e57604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b8381101561189557818101518382015260200161187d565b50505050905090810190601f1680156118c25780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b949350505050565b6000803d80156119ce57602081146119d7576119e3565b600191506119e3565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054611a249083612af3565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46106be60008585855a866127dd565b8051825114611afa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806140536035913960400191505060405180910390fd5b815160005b81811015611cec57611b8f838281518110611b1657fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b6a57fe5b6020026020010151815260200190815260200160002054612b6e90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611bdb57fe5b6020026020010151815260200190815260200160002081905550611c7d838281518110611c0457fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611c5857fe5b6020026020010151815260200190815260200160002054612af390919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611cc957fe5b602090810291909101810151825281019190915260400160002055600101611aff565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611d99578181015183820152602001611d81565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611dd8578181015183820152602001611dc0565b5050505090500194505050505060405180910390a45050505050565b611e138573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611ecb578181015183820152602001611eb3565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611f0a578181015183820152602001611ef2565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611f46578181015183820152602001611f2e565b50505050905090810190601f168015611f735780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611f9857600080fd5b5087f1158015611fac573d6000803e3d6000fd5b50505050506040513d6020811015611fc357600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180614230603f913960400191505060405180910390fd5b6060808380602001905181019061207891906135c2565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260026020526040812054919450919250906120b0836041612a8b565b90508181108015906120c457508160640181105b6120fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e22565b60006121368683878051906020012060405160200161211b939291906136cf565b60405160208183030381529060405280519060200120612c1c565b9050606086838760405160200161214f939291906136f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825273ffffffffffffffffffffffffffffffffffffffff8c166000818152600260205292909220600187019081905590935090917fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59916121da91613edc565b60405180910390a26121ee898383886111d6565b612224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b14565b50505050509392505050565b600061223f82606001516129ce565b60f81c90506002811061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e7f565b60008160ff16600281111561228f57fe5b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff16156122c55786604001516122c7565b335b925060008560028111156122d757fe5b14156123d65786606001518060200190518101906122f59190612ffd565b909450915073ffffffffffffffffffffffffffffffffffffffff841630141561234657612324888484846126da565b6123418884845a85604051806020016040528060008152506127dd565b6123d1565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f242432a9061239e908b908790879087906004016137a8565b600060405180830381600087803b1580156123b857600080fd5b505af11580156123cc573d6000803e3d6000fd5b505050505b6124cf565b86606001518060200190518101906123ee9190612fe1565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290945073ffffffffffffffffffffffffffffffffffffffff8516906323b872dd90612447908b9087908690600401613751565b602060405180830381600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124999190613566565b6124cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613cae565b5050505050505050565b6124e4848383612d4b565b600182146125ea57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690819063a9059cbb906125539087908690600401613782565b602060405180830381600087803b15801561256d57600080fd5b505af1158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a59190613566565b506125ae6119b7565b6125e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b506106be565b73ffffffffffffffffffffffffffffffffffffffff8316612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613bf4565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161265d9061372d565b60006040518083038185875af1925050503d806000811461269a576040519150601f19603f3d011682016040523d82523d6000602084013e61269f565b606091505b505090508061090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546127139082612b6e565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260208181526040808320878452825280832094909455918616815280825282812085825290915220546127639082612af3565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6127fc8573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156128b557818101518382015260200161289d565b50505050905090810190601f1680156128e25780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561290557600080fd5b5087f1158015612919573d6000803e3d6000fd5b50505050506040513d602081101561293057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061426f603a913960400191505060405180910390fd5b600080825111612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180613ff26037913960400191505060405180910390fd5b81600183510381518110612a3957fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60008160200183511015612aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806142a9603c913960400191505060405180910390fd5b50016020015190565b600082820183811015612b6757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b600082821115612bdf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f8015801590612b6757507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b604080518082018252600281527f1901000000000000000000000000000000000000000000000000000000000000602080830191825283517f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d47498183015230818601528451808203860181526060820190955284519490910193909320825160009491928692608001918291908083835b60208310612ce957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612cac565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054612d849082612b6e565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600082601f830112612e44578081fd5b8135612e57612e5282613f09565b613ee5565b818152915060208083019084810181840286018201871015612e7857600080fd5b60005b84811015612e9757813584529282019290820190600101612e7b565b505050505092915050565b600082601f830112612eb2578081fd5b8135612ec0612e5282613f27565b9150808252836020828501011115612ed757600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612f00578081fd5b8151612f0e612e5282613f27565b9150808252836020828501011115612f2557600080fd5b612f36816020840160208601613f67565b5092915050565b600060808284031215612f4e578081fd5b6040516080810167ffffffffffffffff8282108183111715612f6c57fe5b81604052829350845183526020850151602084015260408501519150612f9182613f93565b8160408401526060850151915080821115612fab57600080fd5b50612fb885828601612ef0565b6060830152505092915050565b600060208284031215612fd6578081fd5b8135612b6781613f93565b600060208284031215612ff2578081fd5b8151612b6781613f93565b6000806040838503121561300f578081fd5b825161301a81613f93565b6020939093015192949293505050565b6000806040838503121561303c578182fd5b823561304781613f93565b9150602083013561305781613f93565b809150509250929050565b600080600080600060a08688031215613079578081fd5b853561308481613f93565b9450602086013561309481613f93565b9350604086013567ffffffffffffffff808211156130b0578283fd5b6130bc89838a01612e34565b945060608801359150808211156130d1578283fd5b6130dd89838a01612e34565b935060808801359150808211156130f2578283fd5b506130ff88828901612ea2565b9150509295509295909350565b600080600060608486031215613120578283fd5b833561312b81613f93565b9250602084013561313b81613f93565b929592945050506040919091013590565b600080600080600060a08688031215613163578081fd5b853561316e81613f93565b9450602086013561317e81613f93565b93506040860135925060608601359150608086013567ffffffffffffffff8111156131a7578182fd5b6130ff88828901612ea2565b60008060008060008060c087890312156131cb578384fd5b86356131d681613f93565b955060208701356131e681613f93565b9450604087013567ffffffffffffffff80821115613202578586fd5b61320e8a838b01612e34565b95506060890135915080821115613223578283fd5b61322f8a838b01612e34565b94506080890135915061324182613fb8565b90925060a08801359080821115613256578283fd5b5061326389828a01612ea2565b9150509295509295509295565b600080600080600060a08688031215613287578283fd5b853561329281613f93565b945060208601356132a281613f93565b9350604086013567ffffffffffffffff808211156130b0578485fd5b600080600080600060a086880312156132d5578283fd5b85356132e081613f93565b945060208601356132f081613f93565b9350604086013561330081613fb8565b9250606086013561331081613fb8565b9150608086013567ffffffffffffffff8111156131a7578182fd5b600080600060608486031215613120578081fd5b60008060008060008060c08789031215613357578384fd5b863561336281613f93565b9550602087013561337281613f93565b94506040870135935060608701359250608087013561339081613fb8565b915060a087013567ffffffffffffffff8111156133ab578182fd5b61326389828a01612ea2565b600080600080600060a08688031215613163578283fd5b600080604083850312156133e0578182fd5b82356133eb81613f93565b9150602083013561305781613fb8565b60008060008060808587031215613410578182fd5b843561341b81613f93565b935060208501359250604085013567ffffffffffffffff8082111561343e578384fd5b61344a88838901612ea2565b9350606087013591508082111561345f578283fd5b5061346c87828801612ea2565b91505092959194509250565b6000806040838503121561348a578182fd5b823561349581613f93565b946020939093013593505050565b600080604083850312156134b5578182fd5b823567ffffffffffffffff808211156134cc578384fd5b818501915085601f8301126134df578384fd5b81356134ed612e5282613f09565b80828252602080830192508086018a82838702890101111561350d578889fd5b8896505b8487101561353857803561352481613f93565b845260019690960195928101928101613511565b50909650870135935050508082111561354f578283fd5b5061355c85828601612e34565b9150509250929050565b600060208284031215613577578081fd5b8151612b6781613fb8565b600060208284031215613593578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612b67578182fd5b600080604083850312156135d4578182fd5b825167ffffffffffffffff808211156135eb578384fd5b6135f786838701612ef0565b9350602085015191508082111561360c578283fd5b5061355c85828601612ef0565b60006020828403121561362a578081fd5b815167ffffffffffffffff811115613640578182fd5b6119af84828501612f3d565b6000806040838503121561365e578182fd5b825167ffffffffffffffff80821115613675578384fd5b6135f786838701612f3d565b600060208284031215613692578081fd5b5035919050565b815160009082906020808601845b838110156136c3578151855293820193908201906001016136a7565b50929695505050505050565b600084516136e1818460208901613f67565b91909101928352506020820152604001919050565b60008451613708818460208901613f67565b82018481528351613720816020808501908801613f67565b0160200195945050505050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020808252825182820181905260009190848201906040850190845b8181101561382557835183529284019291840191600101613809565b50909695505050505050565b901515815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529290931660408501526060840152608083019190915260a082015260c00190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6020808252602d908201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260408201527f4543545f4d53475f56414c554500000000000000000000000000000000000000606082015260800190565b6020808252602b908201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960408201527f445f524543495049454e54000000000000000000000000000000000000000000606082015260800190565b6020808252603c908201527f4d657461455243323057726170706572236f6e4552433131353552656365697660408201527f65643a20494e56414c49445f455243313135355f524543454956454400000000606082015260800190565b6020808252602c908201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560408201527f4c4c5f4d53475f56414c55450000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4d657461455243323057726170706572236465706f7369743a205452414e534660408201527f45525f4641494c45440000000000000000000000000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60408201527f3a20494e56414c49445f524543495049454e5400000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f5349474e415455524500000000000000000000000000606082015260800190565b60208082526041908201527f4d657461455243323057726170706572236f6e4552433131353542617463685260408201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560608201527f4400000000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252602c908201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60408201527f49445f524543495049454e540000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4d657461455243323057726170706572236765744964416464726573733a205560408201527f4e524547495354455245445f544f4b454e000000000000000000000000000000606082015260800190565b60208082526032908201527f455243313135354d657461235f7472616e736665724761734665653a2045524360408201527f32305f5452414e534645525f4641494c45440000000000000000000000000000606082015260800190565b60208082526038908201527f455243313135354d657461236d6574615361666542617463685472616e73666560408201527f7246726f6d3a20494e56414c49445f524543495049454e540000000000000000606082015260800190565b6020808252602a908201527f4d6574614552433230577261707065722377697468647261773a205452414e5360408201527f4645525f4641494c454400000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260408201527f4547495354455245445f544f4b454e0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f4e4f4e43450000000000000000000000000000000000606082015260800190565b6020808252602e908201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360408201527f5550504f525445445f544f4b454e000000000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715613f0157fe5b604052919050565b600067ffffffffffffffff821115613f1d57fe5b5060209081020190565b600067ffffffffffffffff821115613f3b57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015613f82578181015183820152602001613f6a565b838111156106be5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114613fb557600080fd5b50565b8015158114613fb557600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245444552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f524551554952454445524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e455245524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f524551554952454445524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147454c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a2646970667358221220a4ec81b129ce0a0417cc8bb8f1b8c1105fb1a042cb2142d1808dc63ea0e3ebe864736f6c63430007040033"; diff --git a/src/gen/adapter/factories/index.js b/src/gen/adapter/factories/index.js new file mode 100644 index 0000000..f9f16bd --- /dev/null +++ b/src/gen/adapter/factories/index.js @@ -0,0 +1,9 @@ +"use strict"; +exports.__esModule = true; +exports.wrapper = exports.mocks = exports.interfaces = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +exports.interfaces = require("./interfaces"); +exports.mocks = require("./mocks"); +exports.wrapper = require("./wrapper"); diff --git a/src/gen/adapter/factories/IERC20Wrapper__factory.js b/src/gen/adapter/factories/interfaces/IERC20Wrapper__factory.js similarity index 98% rename from src/gen/adapter/factories/IERC20Wrapper__factory.js rename to src/gen/adapter/factories/interfaces/IERC20Wrapper__factory.js index b5a7876..610aea9 100644 --- a/src/gen/adapter/factories/IERC20Wrapper__factory.js +++ b/src/gen/adapter/factories/interfaces/IERC20Wrapper__factory.js @@ -5,15 +5,6 @@ exports.__esModule = true; exports.IERC20Wrapper__factory = void 0; var ethers_1 = require("ethers"); -var IERC20Wrapper__factory = /** @class */ (function () { - function IERC20Wrapper__factory() { - } - IERC20Wrapper__factory.connect = function (address, signerOrProvider) { - return new ethers_1.Contract(address, _abi, signerOrProvider); - }; - return IERC20Wrapper__factory; -}()); -exports.IERC20Wrapper__factory = IERC20Wrapper__factory; var _abi = [ { anonymous: false, @@ -463,3 +454,16 @@ var _abi = [ type: "receive" }, ]; +var IERC20Wrapper__factory = /** @class */ (function () { + function IERC20Wrapper__factory() { + } + IERC20Wrapper__factory.createInterface = function () { + return new ethers_1.utils.Interface(_abi); + }; + IERC20Wrapper__factory.connect = function (address, signerOrProvider) { + return new ethers_1.Contract(address, _abi, signerOrProvider); + }; + IERC20Wrapper__factory.abi = _abi; + return IERC20Wrapper__factory; +}()); +exports.IERC20Wrapper__factory = IERC20Wrapper__factory; diff --git a/src/gen/adapter/factories/interfaces/index.js b/src/gen/adapter/factories/interfaces/index.js new file mode 100644 index 0000000..bdd0209 --- /dev/null +++ b/src/gen/adapter/factories/interfaces/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +exports.__esModule = true; +exports.IERC20Wrapper__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +var IERC20Wrapper__factory_1 = require("./IERC20Wrapper__factory"); +__createBinding(exports, IERC20Wrapper__factory_1, "IERC20Wrapper__factory"); diff --git a/src/gen/adapter/factories/ERC20Mock__factory.js b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js similarity index 66% rename from src/gen/adapter/factories/ERC20Mock__factory.js rename to src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js index 0b38f90..d5340ea 100644 --- a/src/gen/adapter/factories/ERC20Mock__factory.js +++ b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js @@ -1,7 +1,4 @@ "use strict"; -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -19,30 +16,10 @@ var __extends = (this && this.__extends) || (function () { })(); exports.__esModule = true; exports.ERC20Mock__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ var ethers_1 = require("ethers"); -var ERC20Mock__factory = /** @class */ (function (_super) { - __extends(ERC20Mock__factory, _super); - function ERC20Mock__factory(signer) { - return _super.call(this, _abi, _bytecode, signer) || this; - } - ERC20Mock__factory.prototype.deploy = function (overrides) { - return _super.prototype.deploy.call(this, overrides || {}); - }; - ERC20Mock__factory.prototype.getDeployTransaction = function (overrides) { - return _super.prototype.getDeployTransaction.call(this, overrides || {}); - }; - ERC20Mock__factory.prototype.attach = function (address) { - return _super.prototype.attach.call(this, address); - }; - ERC20Mock__factory.prototype.connect = function (signer) { - return _super.prototype.connect.call(this, signer); - }; - ERC20Mock__factory.connect = function (address, signerOrProvider) { - return new ethers_1.Contract(address, _abi, signerOrProvider); - }; - return ERC20Mock__factory; -}(ethers_1.ContractFactory)); -exports.ERC20Mock__factory = ERC20Mock__factory; var _abi = [ { inputs: [], @@ -299,4 +276,44 @@ var _abi = [ type: "function" }, ]; -var _bytecode = "0x608060405234801561001057600080fd5b506107ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d7146101f9578063a9059cbb14610232578063dd62ed3e1461026b576100a3565b8063395093511461018d57806370a08231146101c6576100a3565b8063095ea7b3146100a857806318160ddd146100f557806323b872dd1461010f578063378934b414610152575b600080fd5b6100e1600480360360408110156100be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102a6565b604080519115158252519081900360200190f35b6100fd6102bc565b60408051918252519081900360200190f35b6100e16004803603606081101561012557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102c2565b61018b6004803603604081101561016857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610320565b005b6100e1600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561032e565b6100fd600480360360208110156101dc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610371565b6100e16004803603604081101561020f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610399565b6100e16004803603604081101561024857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103dc565b6100fd6004803603604081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166103e9565b60006102b3338484610421565b50600192915050565b60025490565b60006102cf8484846104d0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461031691869161031190866105c3565b610421565b5060019392505050565b61032a828261063a565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866106fd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866105c3565b60006102b33384846104d0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff821661044157600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661046157600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166104f057600080fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205461052090826105c3565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220939093559084168152205461055c90826106fd565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561063457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff821661065a57600080fd5b60025461066790826106fd565b60025573ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461069a90826106fd565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101561077157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220a858dbffac5579c9704da772b70f123066342eebd5e0f925afcfcf70eec045f364736f6c63430007040033"; +var _bytecode = "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033"; +var isSuperArgs = function (xs) { return xs.length > 1; }; +var ERC20Mock__factory = /** @class */ (function (_super) { + __extends(ERC20Mock__factory, _super); + function ERC20Mock__factory() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _this = this; + if (isSuperArgs(args)) { + _this = _super.apply(this, args) || this; + } + else { + _this = _super.call(this, _abi, _bytecode, args[0]) || this; + } + return _this; + } + ERC20Mock__factory.prototype.deploy = function (overrides) { + return _super.prototype.deploy.call(this, overrides || {}); + }; + ERC20Mock__factory.prototype.getDeployTransaction = function (overrides) { + return _super.prototype.getDeployTransaction.call(this, overrides || {}); + }; + ERC20Mock__factory.prototype.attach = function (address) { + return _super.prototype.attach.call(this, address); + }; + ERC20Mock__factory.prototype.connect = function (signer) { + return _super.prototype.connect.call(this, signer); + }; + ERC20Mock__factory.createInterface = function () { + return new ethers_1.utils.Interface(_abi); + }; + ERC20Mock__factory.connect = function (address, signerOrProvider) { + return new ethers_1.Contract(address, _abi, signerOrProvider); + }; + ERC20Mock__factory.bytecode = _bytecode; + ERC20Mock__factory.abi = _abi; + return ERC20Mock__factory; +}(ethers_1.ContractFactory)); +exports.ERC20Mock__factory = ERC20Mock__factory; diff --git a/src/gen/adapter/factories/ERC20__factory.js b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js similarity index 67% rename from src/gen/adapter/factories/ERC20__factory.js rename to src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js index 56b0d91..554f3d0 100644 --- a/src/gen/adapter/factories/ERC20__factory.js +++ b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js @@ -1,7 +1,4 @@ "use strict"; -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -19,30 +16,10 @@ var __extends = (this && this.__extends) || (function () { })(); exports.__esModule = true; exports.ERC20__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ var ethers_1 = require("ethers"); -var ERC20__factory = /** @class */ (function (_super) { - __extends(ERC20__factory, _super); - function ERC20__factory(signer) { - return _super.call(this, _abi, _bytecode, signer) || this; - } - ERC20__factory.prototype.deploy = function (overrides) { - return _super.prototype.deploy.call(this, overrides || {}); - }; - ERC20__factory.prototype.getDeployTransaction = function (overrides) { - return _super.prototype.getDeployTransaction.call(this, overrides || {}); - }; - ERC20__factory.prototype.attach = function (address) { - return _super.prototype.attach.call(this, address); - }; - ERC20__factory.prototype.connect = function (signer) { - return _super.prototype.connect.call(this, signer); - }; - ERC20__factory.connect = function (address, signerOrProvider) { - return new ethers_1.Contract(address, _abi, signerOrProvider); - }; - return ERC20__factory; -}(ethers_1.ContractFactory)); -exports.ERC20__factory = ERC20__factory; var _abi = [ { anonymous: false, @@ -276,4 +253,44 @@ var _abi = [ type: "function" }, ]; -var _bytecode = "0x608060405234801561001057600080fd5b50610687806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610170578063a457c2d7146101a3578063a9059cbb146101dc578063dd62ed3e1461021557610088565b8063095ea7b31461008d57806318160ddd146100da57806323b872dd146100f45780633950935114610137575b600080fd5b6100c6600480360360408110156100a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610250565b604080519115158252519081900360200190f35b6100e2610266565b60408051918252519081900360200190f35b6100c66004803603606081101561010a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561026c565b6100c66004803603604081101561014d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102ca565b6100e26004803603602081101561018657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661030d565b6100c6600480360360408110156101b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610335565b6100c6600480360360408110156101f257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610378565b6100e26004803603604081101561022b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610385565b600061025d3384846103bd565b50600192915050565b60025490565b600061027984848461046c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546102c09186916102bb908661055f565b6103bd565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb90866105d6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb908661055f565b600061025d33848461046c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff82166103dd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166103fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661048c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546104bc908261055f565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546104f890826105d6565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561064a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea26469706673582212203c4dcfdef3f739fe1242da086388e24ba7e6944f058353c4fc15e984b4a21e2c64736f6c63430007040033"; +var _bytecode = "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033"; +var isSuperArgs = function (xs) { return xs.length > 1; }; +var ERC20__factory = /** @class */ (function (_super) { + __extends(ERC20__factory, _super); + function ERC20__factory() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _this = this; + if (isSuperArgs(args)) { + _this = _super.apply(this, args) || this; + } + else { + _this = _super.call(this, _abi, _bytecode, args[0]) || this; + } + return _this; + } + ERC20__factory.prototype.deploy = function (overrides) { + return _super.prototype.deploy.call(this, overrides || {}); + }; + ERC20__factory.prototype.getDeployTransaction = function (overrides) { + return _super.prototype.getDeployTransaction.call(this, overrides || {}); + }; + ERC20__factory.prototype.attach = function (address) { + return _super.prototype.attach.call(this, address); + }; + ERC20__factory.prototype.connect = function (signer) { + return _super.prototype.connect.call(this, signer); + }; + ERC20__factory.createInterface = function () { + return new ethers_1.utils.Interface(_abi); + }; + ERC20__factory.connect = function (address, signerOrProvider) { + return new ethers_1.Contract(address, _abi, signerOrProvider); + }; + ERC20__factory.bytecode = _bytecode; + ERC20__factory.abi = _abi; + return ERC20__factory; +}(ethers_1.ContractFactory)); +exports.ERC20__factory = ERC20__factory; diff --git a/src/gen/adapter/factories/mocks/ERC20Mock.sol/index.js b/src/gen/adapter/factories/mocks/ERC20Mock.sol/index.js new file mode 100644 index 0000000..4b0b263 --- /dev/null +++ b/src/gen/adapter/factories/mocks/ERC20Mock.sol/index.js @@ -0,0 +1,21 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +exports.__esModule = true; +exports.ERC20Mock__factory = exports.ERC20__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +var ERC20__factory_1 = require("./ERC20__factory"); +__createBinding(exports, ERC20__factory_1, "ERC20__factory"); +var ERC20Mock__factory_1 = require("./ERC20Mock__factory"); +__createBinding(exports, ERC20Mock__factory_1, "ERC20Mock__factory"); diff --git a/src/gen/adapter/factories/mocks/index.js b/src/gen/adapter/factories/mocks/index.js new file mode 100644 index 0000000..9fe0982 --- /dev/null +++ b/src/gen/adapter/factories/mocks/index.js @@ -0,0 +1,7 @@ +"use strict"; +exports.__esModule = true; +exports.erc20MockSol = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +exports.erc20MockSol = require("./ERC20Mock.sol"); diff --git a/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js b/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js new file mode 100644 index 0000000..cc01f2e --- /dev/null +++ b/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js @@ -0,0 +1,542 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +exports.__esModule = true; +exports.ERC20Wrapper__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +var ethers_1 = require("ethers"); +var _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "_approved", + type: "bool" + }, + ], + name: "ApprovalForAll", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token_address", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "token_id", + type: "uint256" + }, + ], + name: "TokenRegistration", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + }, + { + indexed: false, + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + indexed: false, + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]" + }, + ], + name: "TransferBatch", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + ], + name: "TransferSingle", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "_owners", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + ], + name: "balanceOfBatch", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_recipient", + type: "address" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + ], + name: "getIdAddress", + outputs: [ + { + internalType: "address", + name: "token", + type: "address" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getNTokens", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + ], + name: "getTokenID", + outputs: [ + { + internalType: "uint256", + name: "tokenID", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + }, + { + internalType: "address", + name: "_operator", + type: "address" + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "isOperator", + type: "bool" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + }, + { + internalType: "address payable", + name: "_from", + type: "address" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + internalType: "uint256[]", + name: "_values", + type: "uint256[]" + }, + { + internalType: "bytes", + name: "", + type: "bytes" + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4" + }, + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + }, + { + internalType: "address payable", + name: "_from", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + }, + { + internalType: "bytes", + name: "", + type: "bytes" + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4" + }, + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "safeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_operator", + type: "address" + }, + { + internalType: "bool", + name: "_approved", + type: "bool" + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceID", + type: "bytes4" + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + }, + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + }, +]; +var _bytecode = "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033"; +var isSuperArgs = function (xs) { return xs.length > 1; }; +var ERC20Wrapper__factory = /** @class */ (function (_super) { + __extends(ERC20Wrapper__factory, _super); + function ERC20Wrapper__factory() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _this = this; + if (isSuperArgs(args)) { + _this = _super.apply(this, args) || this; + } + else { + _this = _super.call(this, _abi, _bytecode, args[0]) || this; + } + return _this; + } + ERC20Wrapper__factory.prototype.deploy = function (overrides) { + return _super.prototype.deploy.call(this, overrides || {}); + }; + ERC20Wrapper__factory.prototype.getDeployTransaction = function (overrides) { + return _super.prototype.getDeployTransaction.call(this, overrides || {}); + }; + ERC20Wrapper__factory.prototype.attach = function (address) { + return _super.prototype.attach.call(this, address); + }; + ERC20Wrapper__factory.prototype.connect = function (signer) { + return _super.prototype.connect.call(this, signer); + }; + ERC20Wrapper__factory.createInterface = function () { + return new ethers_1.utils.Interface(_abi); + }; + ERC20Wrapper__factory.connect = function (address, signerOrProvider) { + return new ethers_1.Contract(address, _abi, signerOrProvider); + }; + ERC20Wrapper__factory.bytecode = _bytecode; + ERC20Wrapper__factory.abi = _abi; + return ERC20Wrapper__factory; +}(ethers_1.ContractFactory)); +exports.ERC20Wrapper__factory = ERC20Wrapper__factory; diff --git a/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js b/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js new file mode 100644 index 0000000..352d6fd --- /dev/null +++ b/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js @@ -0,0 +1,723 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +exports.__esModule = true; +exports.MetaERC20Wrapper__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +var ethers_1 = require("ethers"); +var _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "_approved", + type: "bool" + }, + ], + name: "ApprovalForAll", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "signer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "newNonce", + type: "uint256" + }, + ], + name: "NonceChange", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token_address", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "token_id", + type: "uint256" + }, + ], + name: "TokenRegistration", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + }, + { + indexed: false, + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + indexed: false, + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]" + }, + ], + name: "TransferBatch", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + ], + name: "TransferSingle", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "_owners", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + ], + name: "balanceOfBatch", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_recipient", + type: "address" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + ], + name: "getIdAddress", + outputs: [ + { + internalType: "address", + name: "token", + type: "address" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getNTokens", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_signer", + type: "address" + }, + ], + name: "getNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + ], + name: "getTokenID", + outputs: [ + { + internalType: "uint256", + name: "tokenID", + type: "uint256" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + }, + { + internalType: "address", + name: "_operator", + type: "address" + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "isOperator", + type: "bool" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_signerAddress", + type: "address" + }, + { + internalType: "bytes32", + name: "_hash", + type: "bytes32" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + { + internalType: "bytes", + name: "_sig", + type: "bytes" + }, + ], + name: "isValidSignature", + outputs: [ + { + internalType: "bool", + name: "isValid", + type: "bool" + }, + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]" + }, + { + internalType: "bool", + name: "_isGasFee", + type: "bool" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "metaSafeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "bool", + name: "_isGasFee", + type: "bool" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "metaSafeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + }, + { + internalType: "address", + name: "_operator", + type: "address" + }, + { + internalType: "bool", + name: "_approved", + type: "bool" + }, + { + internalType: "bool", + name: "_isGasFee", + type: "bool" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "metaSetApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + }, + { + internalType: "address payable", + name: "_from", + type: "address" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + internalType: "uint256[]", + name: "_values", + type: "uint256[]" + }, + { + internalType: "bytes", + name: "", + type: "bytes" + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4" + }, + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + }, + { + internalType: "address payable", + name: "_from", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + }, + { + internalType: "bytes", + name: "", + type: "bytes" + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4" + }, + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]" + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "safeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_operator", + type: "address" + }, + { + internalType: "bool", + name: "_approved", + type: "bool" + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceID", + type: "bytes4" + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + }, + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + }, +]; +var _bytecode = "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033"; +var isSuperArgs = function (xs) { return xs.length > 1; }; +var MetaERC20Wrapper__factory = /** @class */ (function (_super) { + __extends(MetaERC20Wrapper__factory, _super); + function MetaERC20Wrapper__factory() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _this = this; + if (isSuperArgs(args)) { + _this = _super.apply(this, args) || this; + } + else { + _this = _super.call(this, _abi, _bytecode, args[0]) || this; + } + return _this; + } + MetaERC20Wrapper__factory.prototype.deploy = function (overrides) { + return _super.prototype.deploy.call(this, overrides || {}); + }; + MetaERC20Wrapper__factory.prototype.getDeployTransaction = function (overrides) { + return _super.prototype.getDeployTransaction.call(this, overrides || {}); + }; + MetaERC20Wrapper__factory.prototype.attach = function (address) { + return _super.prototype.attach.call(this, address); + }; + MetaERC20Wrapper__factory.prototype.connect = function (signer) { + return _super.prototype.connect.call(this, signer); + }; + MetaERC20Wrapper__factory.createInterface = function () { + return new ethers_1.utils.Interface(_abi); + }; + MetaERC20Wrapper__factory.connect = function (address, signerOrProvider) { + return new ethers_1.Contract(address, _abi, signerOrProvider); + }; + MetaERC20Wrapper__factory.bytecode = _bytecode; + MetaERC20Wrapper__factory.abi = _abi; + return MetaERC20Wrapper__factory; +}(ethers_1.ContractFactory)); +exports.MetaERC20Wrapper__factory = MetaERC20Wrapper__factory; diff --git a/src/gen/adapter/factories/wrapper/index.js b/src/gen/adapter/factories/wrapper/index.js new file mode 100644 index 0000000..faded2f --- /dev/null +++ b/src/gen/adapter/factories/wrapper/index.js @@ -0,0 +1,21 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +exports.__esModule = true; +exports.MetaERC20Wrapper__factory = exports.ERC20Wrapper__factory = void 0; +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +var ERC20Wrapper__factory_1 = require("./ERC20Wrapper__factory"); +__createBinding(exports, ERC20Wrapper__factory_1, "ERC20Wrapper__factory"); +var MetaERC20Wrapper__factory_1 = require("./MetaERC20Wrapper__factory"); +__createBinding(exports, MetaERC20Wrapper__factory_1, "MetaERC20Wrapper__factory"); diff --git a/src/gen/adapter/index.js b/src/gen/adapter/index.js index 60930a5..0867fda 100644 --- a/src/gen/adapter/index.js +++ b/src/gen/adapter/index.js @@ -1,20 +1,25 @@ "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); exports.__esModule = true; -exports.MetaERC20Wrapper__factory = exports.ERC20Wrapper__factory = exports.ERC20Mock__factory = exports.ERC20__factory = exports.IERC20Wrapper__factory = void 0; -var IERC20Wrapper__factory_1 = require("./factories/IERC20Wrapper__factory"); +exports.MetaERC20Wrapper__factory = exports.ERC20Wrapper__factory = exports.ERC20Mock__factory = exports.ERC20__factory = exports.IERC20Wrapper__factory = exports.factories = void 0; +exports.factories = require("./factories"); +var IERC20Wrapper__factory_1 = require("./factories/interfaces/IERC20Wrapper__factory"); __createBinding(exports, IERC20Wrapper__factory_1, "IERC20Wrapper__factory"); -var ERC20__factory_1 = require("./factories/ERC20__factory"); +var ERC20__factory_1 = require("./factories/mocks/ERC20Mock.sol/ERC20__factory"); __createBinding(exports, ERC20__factory_1, "ERC20__factory"); -var ERC20Mock__factory_1 = require("./factories/ERC20Mock__factory"); +var ERC20Mock__factory_1 = require("./factories/mocks/ERC20Mock.sol/ERC20Mock__factory"); __createBinding(exports, ERC20Mock__factory_1, "ERC20Mock__factory"); -var ERC20Wrapper__factory_1 = require("./factories/ERC20Wrapper__factory"); +var ERC20Wrapper__factory_1 = require("./factories/wrapper/ERC20Wrapper__factory"); __createBinding(exports, ERC20Wrapper__factory_1, "ERC20Wrapper__factory"); -var MetaERC20Wrapper__factory_1 = require("./factories/MetaERC20Wrapper__factory"); +var MetaERC20Wrapper__factory_1 = require("./factories/wrapper/MetaERC20Wrapper__factory"); __createBinding(exports, MetaERC20Wrapper__factory_1, "MetaERC20Wrapper__factory"); diff --git a/src/gen/adapter/interfaces/IERC20Wrapper.js b/src/gen/adapter/interfaces/IERC20Wrapper.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/interfaces/IERC20Wrapper.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/interfaces/index.js b/src/gen/adapter/interfaces/index.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/interfaces/index.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/mocks/ERC20Mock.sol/ERC20.js b/src/gen/adapter/mocks/ERC20Mock.sol/ERC20.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/mocks/ERC20Mock.sol/ERC20.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/mocks/ERC20Mock.sol/ERC20Mock.js b/src/gen/adapter/mocks/ERC20Mock.sol/ERC20Mock.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/mocks/ERC20Mock.sol/ERC20Mock.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/mocks/ERC20Mock.sol/index.js b/src/gen/adapter/mocks/ERC20Mock.sol/index.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/mocks/ERC20Mock.sol/index.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/mocks/index.js b/src/gen/adapter/mocks/index.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/mocks/index.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/wrapper/ERC20Wrapper.js b/src/gen/adapter/wrapper/ERC20Wrapper.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/wrapper/ERC20Wrapper.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/wrapper/MetaERC20Wrapper.js b/src/gen/adapter/wrapper/MetaERC20Wrapper.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/wrapper/MetaERC20Wrapper.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/adapter/wrapper/index.js b/src/gen/adapter/wrapper/index.js new file mode 100644 index 0000000..0e34578 --- /dev/null +++ b/src/gen/adapter/wrapper/index.js @@ -0,0 +1,2 @@ +"use strict"; +exports.__esModule = true; diff --git a/src/gen/typechain/ERC20.d.ts b/src/gen/typechain/ERC20.d.ts deleted file mode 100644 index a5755d2..0000000 --- a/src/gen/typechain/ERC20.d.ts +++ /dev/null @@ -1,592 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { - ethers, - EventFilter, - Signer, - BigNumber, - BigNumberish, - PopulatedTransaction, - Contract, - ContractTransaction, - Overrides, - CallOverrides, -} from "ethers"; -import { BytesLike } from "@ethersproject/bytes"; -import { Listener, Provider } from "@ethersproject/providers"; -import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; -import { TypedEventFilter, TypedEvent, TypedListener } from "./commons"; - -interface ERC20Interface extends ethers.utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export class ERC20 extends Contract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - listeners, EventArgsObject>( - eventFilter?: TypedEventFilter - ): Array>; - off, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - on, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - once, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeListener, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeAllListeners, EventArgsObject>( - eventFilter: TypedEventFilter - ): this; - - listeners(eventName?: string): Array; - off(eventName: string, listener: Listener): this; - on(eventName: string, listener: Listener): this; - once(eventName: string, listener: Listener): this; - removeListener(eventName: string, listener: Listener): this; - removeAllListeners(eventName?: string): this; - - queryFilter, EventArgsObject>( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - interface: ERC20Interface; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - "totalSupply()"(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - Approval( - owner: string | null, - spender: string | null, - value: null - ): TypedEventFilter< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } - >; - - Transfer( - from: string | null, - to: string | null, - value: null - ): TypedEventFilter< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } - >; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - owner: string, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/src/gen/typechain/ERC20Mock.d.ts b/src/gen/typechain/ERC20Mock.d.ts deleted file mode 100644 index 879f33d..0000000 --- a/src/gen/typechain/ERC20Mock.d.ts +++ /dev/null @@ -1,658 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { - ethers, - EventFilter, - Signer, - BigNumber, - BigNumberish, - PopulatedTransaction, - Contract, - ContractTransaction, - Overrides, - CallOverrides, -} from "ethers"; -import { BytesLike } from "@ethersproject/bytes"; -import { Listener, Provider } from "@ethersproject/providers"; -import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; -import { TypedEventFilter, TypedEvent, TypedListener } from "./commons"; - -interface ERC20MockInterface extends ethers.utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; - "mockMint(address,uint256)": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "mockMint", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "mockMint", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export class ERC20Mock extends Contract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - listeners, EventArgsObject>( - eventFilter?: TypedEventFilter - ): Array>; - off, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - on, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - once, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeListener, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeAllListeners, EventArgsObject>( - eventFilter: TypedEventFilter - ): this; - - listeners(eventName?: string): Array; - off(eventName: string, listener: Listener): this; - on(eventName: string, listener: Listener): this; - once(eventName: string, listener: Listener): this; - removeListener(eventName: string, listener: Listener): this; - removeAllListeners(eventName?: string): this; - - queryFilter, EventArgsObject>( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - interface: ERC20MockInterface; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mockMint( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "mockMint(address,uint256)"( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - "totalSupply()"(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mockMint( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "mockMint(address,uint256)"( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - mockMint( - _address: string, - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "mockMint(address,uint256)"( - _address: string, - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - Approval( - owner: string | null, - spender: string | null, - value: null - ): TypedEventFilter< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } - >; - - Transfer( - from: string | null, - to: string | null, - value: null - ): TypedEventFilter< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } - >; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(owner: string, overrides?: CallOverrides): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mockMint( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "mockMint(address,uint256)"( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - "allowance(address,address)"( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approve(address,uint256)"( - spender: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - owner: string, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address)"( - owner: string, - overrides?: CallOverrides - ): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "decreaseAllowance(address,uint256)"( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "increaseAllowance(address,uint256)"( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mockMint( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "mockMint(address,uint256)"( - _address: string, - _amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - "totalSupply()"(overrides?: CallOverrides): Promise; - - transfer( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transfer(address,uint256)"( - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "transferFrom(address,address,uint256)"( - from: string, - to: string, - value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/src/gen/typechain/ERC20Wrapper.d.ts b/src/gen/typechain/ERC20Wrapper.d.ts deleted file mode 100644 index 586f000..0000000 --- a/src/gen/typechain/ERC20Wrapper.d.ts +++ /dev/null @@ -1,1148 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { - ethers, - EventFilter, - Signer, - BigNumber, - BigNumberish, - PopulatedTransaction, - Contract, - ContractTransaction, - Overrides, - PayableOverrides, - CallOverrides, -} from "ethers"; -import { BytesLike } from "@ethersproject/bytes"; -import { Listener, Provider } from "@ethersproject/providers"; -import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; -import { TypedEventFilter, TypedEvent, TypedListener } from "./commons"; - -interface ERC20WrapperInterface extends ethers.utils.Interface { - functions: { - "balanceOf(address,uint256)": FunctionFragment; - "balanceOfBatch(address[],uint256[])": FunctionFragment; - "deposit(address,address,uint256)": FunctionFragment; - "getIdAddress(uint256)": FunctionFragment; - "getNTokens()": FunctionFragment; - "getTokenID(address)": FunctionFragment; - "isApprovedForAll(address,address)": FunctionFragment; - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; - "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; - "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; - "setApprovalForAll(address,bool)": FunctionFragment; - "supportsInterface(bytes4)": FunctionFragment; - "withdraw(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "balanceOf", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOfBatch", - values: [string[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "deposit", - values: [string, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getIdAddress", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getNTokens", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "getTokenID", values: [string]): string; - encodeFunctionData( - functionFragment: "isApprovedForAll", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "onERC1155BatchReceived", - values: [string, string, BigNumberish[], BigNumberish[], BytesLike] - ): string; - encodeFunctionData( - functionFragment: "onERC1155Received", - values: [string, string, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "safeBatchTransferFrom", - values: [string, string, BigNumberish[], BigNumberish[], BytesLike] - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom", - values: [string, string, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "setApprovalForAll", - values: [string, boolean] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "withdraw", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "balanceOfBatch", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getIdAddress", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "getNTokens", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "getTokenID", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "isApprovedForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "onERC1155BatchReceived", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "onERC1155Received", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeBatchTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; - - events: { - "ApprovalForAll(address,address,bool)": EventFragment; - "TokenRegistration(address,uint256)": EventFragment; - "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; - "TransferSingle(address,address,address,uint256,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TokenRegistration"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; -} - -export class ERC20Wrapper extends Contract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - listeners, EventArgsObject>( - eventFilter?: TypedEventFilter - ): Array>; - off, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - on, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - once, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeListener, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeAllListeners, EventArgsObject>( - eventFilter: TypedEventFilter - ): this; - - listeners(eventName?: string): Array; - off(eventName: string, listener: Listener): this; - on(eventName: string, listener: Listener): this; - once(eventName: string, listener: Listener): this; - removeListener(eventName: string, listener: Listener): this; - removeAllListeners(eventName?: string): this; - - queryFilter, EventArgsObject>( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - interface: ERC20WrapperInterface; - - functions: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[string] & { token: string }>; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[string] & { token: string }>; - - getNTokens(overrides?: CallOverrides): Promise<[BigNumber]>; - - "getNTokens()"(overrides?: CallOverrides): Promise<[BigNumber]>; - - getTokenID( - _token: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { tokenID: BigNumber }>; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { tokenID: BigNumber }>; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise<[boolean] & { isOperator: boolean }>; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise<[boolean] & { isOperator: boolean }>; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress(_id: BigNumberish, overrides?: CallOverrides): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getIdAddress(_id: BigNumberish, overrides?: CallOverrides): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: CallOverrides - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: CallOverrides - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - ApprovalForAll( - _owner: string | null, - _operator: string | null, - _approved: null - ): TypedEventFilter< - [string, string, boolean], - { _owner: string; _operator: string; _approved: boolean } - >; - - TokenRegistration( - token_address: null, - token_id: null - ): TypedEventFilter< - [string, BigNumber], - { token_address: string; token_id: BigNumber } - >; - - TransferBatch( - _operator: string | null, - _from: string | null, - _to: string | null, - _ids: null, - _amounts: null - ): TypedEventFilter< - [string, string, string, BigNumber[], BigNumber[]], - { - _operator: string; - _from: string; - _to: string; - _ids: BigNumber[]; - _amounts: BigNumber[]; - } - >; - - TransferSingle( - _operator: string | null, - _from: string | null, - _to: string | null, - _id: null, - _amount: null - ): TypedEventFilter< - [string, string, string, BigNumber, BigNumber], - { - _operator: string; - _from: string; - _to: string; - _id: BigNumber; - _amount: BigNumber; - } - >; - }; - - estimateGas: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID( - _token: string, - overrides?: CallOverrides - ): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/src/gen/typechain/IERC20Wrapper.d.ts b/src/gen/typechain/IERC20Wrapper.d.ts deleted file mode 100644 index f2a01d9..0000000 --- a/src/gen/typechain/IERC20Wrapper.d.ts +++ /dev/null @@ -1,1138 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { - ethers, - EventFilter, - Signer, - BigNumber, - BigNumberish, - PopulatedTransaction, - Contract, - ContractTransaction, - Overrides, - PayableOverrides, - CallOverrides, -} from "ethers"; -import { BytesLike } from "@ethersproject/bytes"; -import { Listener, Provider } from "@ethersproject/providers"; -import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; -import { TypedEventFilter, TypedEvent, TypedListener } from "./commons"; - -interface IERC20WrapperInterface extends ethers.utils.Interface { - functions: { - "balanceOf(address,uint256)": FunctionFragment; - "balanceOfBatch(address[],uint256[])": FunctionFragment; - "deposit(address,address,uint256)": FunctionFragment; - "getIdAddress(uint256)": FunctionFragment; - "getNTokens()": FunctionFragment; - "getTokenID(address)": FunctionFragment; - "isApprovedForAll(address,address)": FunctionFragment; - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; - "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; - "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; - "setApprovalForAll(address,bool)": FunctionFragment; - "supportsInterface(bytes4)": FunctionFragment; - "withdraw(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "balanceOf", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOfBatch", - values: [string[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "deposit", - values: [string, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getIdAddress", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getNTokens", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "getTokenID", values: [string]): string; - encodeFunctionData( - functionFragment: "isApprovedForAll", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "onERC1155BatchReceived", - values: [string, string, BigNumberish[], BigNumberish[], BytesLike] - ): string; - encodeFunctionData( - functionFragment: "onERC1155Received", - values: [string, string, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "safeBatchTransferFrom", - values: [string, string, BigNumberish[], BigNumberish[], BytesLike] - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom", - values: [string, string, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "setApprovalForAll", - values: [string, boolean] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "withdraw", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "balanceOfBatch", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getIdAddress", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "getNTokens", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "getTokenID", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "isApprovedForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "onERC1155BatchReceived", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "onERC1155Received", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeBatchTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; - - events: { - "ApprovalForAll(address,address,bool)": EventFragment; - "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; - "TransferSingle(address,address,address,uint256,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; -} - -export class IERC20Wrapper extends Contract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - listeners, EventArgsObject>( - eventFilter?: TypedEventFilter - ): Array>; - off, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - on, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - once, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeListener, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeAllListeners, EventArgsObject>( - eventFilter: TypedEventFilter - ): this; - - listeners(eventName?: string): Array; - off(eventName: string, listener: Listener): this; - on(eventName: string, listener: Listener): this; - once(eventName: string, listener: Listener): this; - removeListener(eventName: string, listener: Listener): this; - removeAllListeners(eventName?: string): this; - - queryFilter, EventArgsObject>( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - interface: IERC20WrapperInterface; - - functions: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[string] & { token: string }>; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[string] & { token: string }>; - - getNTokens(overrides?: CallOverrides): Promise<[void]>; - - "getNTokens()"(overrides?: CallOverrides): Promise<[void]>; - - getTokenID( - _token: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { tokenID: BigNumber }>; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { tokenID: BigNumber }>; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise<[boolean] & { isOperator: boolean }>; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise<[boolean] & { isOperator: boolean }>; - - onERC1155BatchReceived( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - "supportsInterface(bytes4)"( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress(_id: BigNumberish, overrides?: CallOverrides): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getIdAddress(_id: BigNumberish, overrides?: CallOverrides): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - onERC1155Received( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: CallOverrides - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: CallOverrides - ): Promise; - - supportsInterface( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - ApprovalForAll( - _owner: string | null, - _operator: string | null, - _approved: null - ): TypedEventFilter< - [string, string, boolean], - { _owner: string; _operator: string; _approved: boolean } - >; - - TransferBatch( - _operator: string | null, - _from: string | null, - _to: string | null, - _ids: null, - _amounts: null - ): TypedEventFilter< - [string, string, string, BigNumber[], BigNumber[]], - { - _operator: string; - _from: string; - _to: string; - _ids: BigNumber[]; - _amounts: BigNumber[]; - } - >; - - TransferSingle( - _operator: string | null, - _from: string | null, - _to: string | null, - _id: null, - _amount: null - ): TypedEventFilter< - [string, string, string, BigNumber, BigNumber], - { - _operator: string; - _from: string; - _to: string; - _id: BigNumber; - _amount: BigNumber; - } - >; - }; - - estimateGas: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getTokenID( - _token: string, - overrides?: CallOverrides - ): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - _operator: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - _operator: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - _interfaceId: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/src/gen/typechain/MetaERC20Wrapper.d.ts b/src/gen/typechain/MetaERC20Wrapper.d.ts deleted file mode 100644 index 080935f..0000000 --- a/src/gen/typechain/MetaERC20Wrapper.d.ts +++ /dev/null @@ -1,1608 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { - ethers, - EventFilter, - Signer, - BigNumber, - BigNumberish, - PopulatedTransaction, - Contract, - ContractTransaction, - Overrides, - PayableOverrides, - CallOverrides, -} from "ethers"; -import { BytesLike } from "@ethersproject/bytes"; -import { Listener, Provider } from "@ethersproject/providers"; -import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; -import { TypedEventFilter, TypedEvent, TypedListener } from "./commons"; - -interface MetaERC20WrapperInterface extends ethers.utils.Interface { - functions: { - "balanceOf(address,uint256)": FunctionFragment; - "balanceOfBatch(address[],uint256[])": FunctionFragment; - "deposit(address,address,uint256)": FunctionFragment; - "getIdAddress(uint256)": FunctionFragment; - "getNTokens()": FunctionFragment; - "getNonce(address)": FunctionFragment; - "getTokenID(address)": FunctionFragment; - "isApprovedForAll(address,address)": FunctionFragment; - "isValidSignature(address,bytes32,bytes,bytes)": FunctionFragment; - "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)": FunctionFragment; - "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)": FunctionFragment; - "metaSetApprovalForAll(address,address,bool,bool,bytes)": FunctionFragment; - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; - "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; - "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; - "setApprovalForAll(address,bool)": FunctionFragment; - "supportsInterface(bytes4)": FunctionFragment; - "withdraw(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "balanceOf", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOfBatch", - values: [string[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "deposit", - values: [string, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getIdAddress", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getNTokens", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "getNonce", values: [string]): string; - encodeFunctionData(functionFragment: "getTokenID", values: [string]): string; - encodeFunctionData( - functionFragment: "isApprovedForAll", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "isValidSignature", - values: [string, BytesLike, BytesLike, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "metaSafeBatchTransferFrom", - values: [string, string, BigNumberish[], BigNumberish[], boolean, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "metaSafeTransferFrom", - values: [string, string, BigNumberish, BigNumberish, boolean, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "metaSetApprovalForAll", - values: [string, string, boolean, boolean, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "onERC1155BatchReceived", - values: [string, string, BigNumberish[], BigNumberish[], BytesLike] - ): string; - encodeFunctionData( - functionFragment: "onERC1155Received", - values: [string, string, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "safeBatchTransferFrom", - values: [string, string, BigNumberish[], BigNumberish[], BytesLike] - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom", - values: [string, string, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "setApprovalForAll", - values: [string, boolean] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "withdraw", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "balanceOfBatch", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getIdAddress", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "getNTokens", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "getTokenID", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "isApprovedForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "isValidSignature", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "metaSafeBatchTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "metaSafeTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "metaSetApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "onERC1155BatchReceived", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "onERC1155Received", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeBatchTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; - - events: { - "ApprovalForAll(address,address,bool)": EventFragment; - "NonceChange(address,uint256)": EventFragment; - "TokenRegistration(address,uint256)": EventFragment; - "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; - "TransferSingle(address,address,address,uint256,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NonceChange"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TokenRegistration"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; -} - -export class MetaERC20Wrapper extends Contract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - listeners, EventArgsObject>( - eventFilter?: TypedEventFilter - ): Array>; - off, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - on, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - once, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeListener, EventArgsObject>( - eventFilter: TypedEventFilter, - listener: TypedListener - ): this; - removeAllListeners, EventArgsObject>( - eventFilter: TypedEventFilter - ): this; - - listeners(eventName?: string): Array; - off(eventName: string, listener: Listener): this; - on(eventName: string, listener: Listener): this; - once(eventName: string, listener: Listener): this; - removeListener(eventName: string, listener: Listener): this; - removeAllListeners(eventName?: string): this; - - queryFilter, EventArgsObject>( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - interface: MetaERC20WrapperInterface; - - functions: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[string] & { token: string }>; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise<[string] & { token: string }>; - - getNTokens(overrides?: CallOverrides): Promise<[BigNumber]>; - - "getNTokens()"(overrides?: CallOverrides): Promise<[BigNumber]>; - - getNonce( - _signer: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { nonce: BigNumber }>; - - "getNonce(address)"( - _signer: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { nonce: BigNumber }>; - - getTokenID( - _token: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { tokenID: BigNumber }>; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise<[BigNumber] & { tokenID: BigNumber }>; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise<[boolean] & { isOperator: boolean }>; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise<[boolean] & { isOperator: boolean }>; - - isValidSignature( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean] & { isValid: boolean }>; - - "isValidSignature(address,bytes32,bytes,bytes)"( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean] & { isValid: boolean }>; - - metaSafeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSafeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSetApprovalForAll( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSetApprovalForAll(address,address,bool,bool,bytes)"( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress(_id: BigNumberish, overrides?: CallOverrides): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getNonce(_signer: string, overrides?: CallOverrides): Promise; - - "getNonce(address)"( - _signer: string, - overrides?: CallOverrides - ): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - isValidSignature( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - "isValidSignature(address,bytes32,bytes,bytes)"( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - metaSafeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSafeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSetApprovalForAll( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSetApprovalForAll(address,address,bool,bool,bytes)"( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getIdAddress(_id: BigNumberish, overrides?: CallOverrides): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getNonce(_signer: string, overrides?: CallOverrides): Promise; - - "getNonce(address)"( - _signer: string, - overrides?: CallOverrides - ): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - isValidSignature( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - "isValidSignature(address,bytes32,bytes,bytes)"( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - metaSafeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - metaSafeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - metaSetApprovalForAll( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "metaSetApprovalForAll(address,address,bool,bool,bytes)"( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: CallOverrides - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: CallOverrides - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: CallOverrides - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: CallOverrides - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - ApprovalForAll( - _owner: string | null, - _operator: string | null, - _approved: null - ): TypedEventFilter< - [string, string, boolean], - { _owner: string; _operator: string; _approved: boolean } - >; - - NonceChange( - signer: string | null, - newNonce: null - ): TypedEventFilter< - [string, BigNumber], - { signer: string; newNonce: BigNumber } - >; - - TokenRegistration( - token_address: null, - token_id: null - ): TypedEventFilter< - [string, BigNumber], - { token_address: string; token_id: BigNumber } - >; - - TransferBatch( - _operator: string | null, - _from: string | null, - _to: string | null, - _ids: null, - _amounts: null - ): TypedEventFilter< - [string, string, string, BigNumber[], BigNumber[]], - { - _operator: string; - _from: string; - _to: string; - _ids: BigNumber[]; - _amounts: BigNumber[]; - } - >; - - TransferSingle( - _operator: string | null, - _from: string | null, - _to: string | null, - _id: null, - _amount: null - ): TypedEventFilter< - [string, string, string, BigNumber, BigNumber], - { - _operator: string; - _from: string; - _to: string; - _id: BigNumber; - _amount: BigNumber; - } - >; - }; - - estimateGas: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getNonce(_signer: string, overrides?: CallOverrides): Promise; - - "getNonce(address)"( - _signer: string, - overrides?: CallOverrides - ): Promise; - - getTokenID(_token: string, overrides?: CallOverrides): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - isValidSignature( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - "isValidSignature(address,bytes32,bytes,bytes)"( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - metaSafeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSafeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSetApprovalForAll( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSetApprovalForAll(address,address,bool,bool,bytes)"( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - balanceOf( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "balanceOf(address,uint256)"( - _owner: string, - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOfBatch( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - "balanceOfBatch(address[],uint256[])"( - _owners: string[], - _ids: BigNumberish[], - overrides?: CallOverrides - ): Promise; - - deposit( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - "deposit(address,address,uint256)"( - _token: string, - _recipient: string, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - getIdAddress( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "getIdAddress(uint256)"( - _id: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getNTokens(overrides?: CallOverrides): Promise; - - "getNTokens()"(overrides?: CallOverrides): Promise; - - getNonce( - _signer: string, - overrides?: CallOverrides - ): Promise; - - "getNonce(address)"( - _signer: string, - overrides?: CallOverrides - ): Promise; - - getTokenID( - _token: string, - overrides?: CallOverrides - ): Promise; - - "getTokenID(address)"( - _token: string, - overrides?: CallOverrides - ): Promise; - - isApprovedForAll( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - "isApprovedForAll(address,address)"( - _owner: string, - _operator: string, - overrides?: CallOverrides - ): Promise; - - isValidSignature( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - "isValidSignature(address,bytes32,bytes,bytes)"( - _signerAddress: string, - _hash: BytesLike, - _data: BytesLike, - _sig: BytesLike, - overrides?: CallOverrides - ): Promise; - - metaSafeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSafeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - metaSetApprovalForAll( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "metaSetApprovalForAll(address,address,bool,bool,bytes)"( - _owner: string, - _operator: string, - _approved: boolean, - _isGasFee: boolean, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155BatchReceived( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"( - arg0: string, - _from: string, - _ids: BigNumberish[], - _values: BigNumberish[], - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - onERC1155Received( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "onERC1155Received(address,address,uint256,uint256,bytes)"( - arg0: string, - _from: string, - _id: BigNumberish, - _value: BigNumberish, - arg4: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeBatchTransferFrom( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"( - _from: string, - _to: string, - _ids: BigNumberish[], - _amounts: BigNumberish[], - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - safeTransferFrom( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "safeTransferFrom(address,address,uint256,uint256,bytes)"( - _from: string, - _to: string, - _id: BigNumberish, - _amount: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setApprovalForAll( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "setApprovalForAll(address,bool)"( - _operator: string, - _approved: boolean, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - supportsInterface( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - "supportsInterface(bytes4)"( - interfaceID: BytesLike, - overrides?: CallOverrides - ): Promise; - - withdraw( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "withdraw(address,address,uint256)"( - _token: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/src/gen/typechain/common.ts b/src/gen/typechain/common.ts new file mode 100644 index 0000000..4c90b08 --- /dev/null +++ b/src/gen/typechain/common.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { Listener } from "@ethersproject/providers"; +import type { Event, EventFilter } from "ethers"; + +export interface TypedEvent< + TArgsArray extends Array = any, + TArgsObject = any +> extends Event { + args: TArgsArray & TArgsObject; +} + +export interface TypedEventFilter<_TEvent extends TypedEvent> + extends EventFilter {} + +export interface TypedListener { + (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +} + +type __TypechainArgsArray = T extends TypedEvent ? U : never; + +export interface OnEvent { + ( + eventFilter: TypedEventFilter, + listener: TypedListener + ): TRes; + (eventName: string, listener: Listener): TRes; +} + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; + +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; + +export type PromiseOrValue = T | Promise; diff --git a/src/gen/typechain/commons.ts b/src/gen/typechain/commons.ts deleted file mode 100644 index 760b7a6..0000000 --- a/src/gen/typechain/commons.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { EventFilter, Event } from "ethers"; -import { Result } from "@ethersproject/abi"; - -export interface TypedEventFilter<_EventArgsArray, _EventArgsObject> - extends EventFilter {} - -export interface TypedEvent extends Event { - args: EventArgs; -} - -export type TypedListener< - EventArgsArray extends Array, - EventArgsObject -> = ( - ...listenerArg: [ - ...EventArgsArray, - TypedEvent - ] -) => void; diff --git a/src/gen/typechain/factories/ERC20Wrapper__factory.ts b/src/gen/typechain/factories/ERC20Wrapper__factory.ts deleted file mode 100644 index df03511..0000000 --- a/src/gen/typechain/factories/ERC20Wrapper__factory.ts +++ /dev/null @@ -1,520 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Signer, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; - -import type { ERC20Wrapper } from "../ERC20Wrapper"; - -export class ERC20Wrapper__factory extends ContractFactory { - constructor(signer?: Signer) { - super(_abi, _bytecode, signer); - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): ERC20Wrapper { - return super.attach(address) as ERC20Wrapper; - } - connect(signer: Signer): ERC20Wrapper__factory { - return super.connect(signer) as ERC20Wrapper__factory; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ERC20Wrapper { - return new Contract(address, _abi, signerOrProvider) as ERC20Wrapper; - } -} - -const _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address", - }, - { - indexed: false, - internalType: "bool", - name: "_approved", - type: "bool", - }, - ], - name: "ApprovalForAll", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "token_address", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "token_id", - type: "uint256", - }, - ], - name: "TokenRegistration", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]", - }, - ], - name: "TransferBatch", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - ], - name: "TransferSingle", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address[]", - name: "_owners", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - ], - name: "balanceOfBatch", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address", - }, - { - internalType: "address", - name: "_recipient", - type: "address", - }, - { - internalType: "uint256", - name: "_value", - type: "uint256", - }, - ], - name: "deposit", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - ], - name: "getIdAddress", - outputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getNTokens", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address", - }, - ], - name: "getTokenID", - outputs: [ - { - internalType: "uint256", - name: "tokenID", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address", - }, - { - internalType: "address", - name: "_operator", - type: "address", - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "isOperator", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "address payable", - name: "_from", - type: "address", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "_values", - type: "uint256[]", - }, - { - internalType: "bytes", - name: "", - type: "bytes", - }, - ], - name: "onERC1155BatchReceived", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "address payable", - name: "_from", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - internalType: "uint256", - name: "_value", - type: "uint256", - }, - { - internalType: "bytes", - name: "", - type: "bytes", - }, - ], - name: "onERC1155Received", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "safeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "safeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_operator", - type: "address", - }, - { - internalType: "bool", - name: "_approved", - type: "bool", - }, - ], - name: "setApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes4", - name: "interfaceID", - type: "bytes4", - }, - ], - name: "supportsInterface", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "pure", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address", - }, - { - internalType: "address payable", - name: "_to", - type: "address", - }, - { - internalType: "uint256", - name: "_value", - type: "uint256", - }, - ], - name: "withdraw", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - stateMutability: "payable", - type: "receive", - }, -]; - -const _bytecode = - "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556125a38061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed121461026a578063e985e9c51461028a578063f23a6e61146102aa578063f242432a146102ca576100f3565b80639040a94914610208578063a22cb4651461021d578063bc197c811461023d576100f3565b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f549146101f5576100f3565b8062fdd58e146100f857806301ffc9a71461012e5780632eb2c2d61461015b576100f3565b366100f3576100f1600133346102ea565b005b600080fd5b34801561010457600080fd5b50610118610113366004611d66565b6105bd565b6040516101259190612361565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004611e70565b6105f0565b6040516101259190611f87565b34801561016757600080fd5b506100f1610176366004611be8565b6106d7565b34801561018757600080fd5b5061019b610196366004611d91565b6107e2565b6040516101259190611f43565b3480156101b457600080fd5b506101186101c3366004611b94565b61092e565b3480156101d457600080fd5b506101e86101e3366004611eb0565b61098b565b6040516101259190611ecb565b6100f1610203366004611c92565b6102ea565b34801561021457600080fd5b506101186109e7565b34801561022957600080fd5b506100f1610238366004611d39565b6109ed565b34801561024957600080fd5b5061025d610258366004611be8565b610a86565b6040516101259190611f92565b34801561027657600080fd5b506100f1610285366004611c92565b610b50565b34801561029657600080fd5b5061014e6102a5366004611bb0565b610b69565b3480156102b657600080fd5b5061025d6102c5366004611cd2565b610ba4565b3480156102d657600080fd5b506100f16102e5366004611cd2565b610c20565b73ffffffffffffffffffffffffffffffffffffffff8216610340576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612133565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461055f573415610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612190565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906103ee90339030908790600401611eec565b602060405180830381600087803b15801561040857600080fd5b505af115801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611e54565b50610449610d24565b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790611fbf565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604090205480610555576002805460010190819055600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600390915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f906105489087908590611f1d565b60405180910390a1610559565b8091505b5061059c565b348214610598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612079565b5060015b6105b783828460405180602001604052806000815250610d58565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061068357507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806106cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b3373ffffffffffffffffffffffffffffffffffffffff8616148061070057506107008533610b69565b610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124c6602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166107c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061246a6030913960400191505060405180910390fd5b6107cd85858585610e0d565b6107db858585855a86611161565b5050505050565b6060815183511461083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061249a602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561085857600080fd5b50604051908082528060200260200182016040528015610882578160200160208202803683370190505b50905060005b8451811015610926576000808683815181106108a057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106108f057fe5b602002602001015181526020019081526020016000205482828151811061091357fe5b6020908102919091010152600101610888565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906122a7565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16806106d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906120d6565b60025490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6000333014610ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033790612304565b60005b8451811015610b2457610ae9858281518110610adc57fe5b602002602001015161098b565b50610b1c3087878481518110610afb57fe5b6020026020010151878581518110610b0f57fe5b60200260200101516113d8565b600101610ac4565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610b5b8461092e565b90506105b7338483856113d8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610bdf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061224a565b610be88461098b565b50610bf5308686866113d8565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610c495750610c498533610b69565b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061240b602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806123e0602b913960400191505060405180910390fd5b610d16858585856115d9565b6107db858585855a866116dc565b6000803d8015610d3b5760208114610d4457610d50565b60019150610d50565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054610d9190836118cd565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46105b760008585855a866116dc565b8051825114610e67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806124356035913960400191505060405180910390fd5b815160005b8181101561105957610efc838281518110610e8357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610ed757fe5b602002602001015181526020019081526020016000205461194890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f4857fe5b6020026020010151815260200190815260200160002081905550610fea838281518110610f7157fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610fc557fe5b60200260200101518152602001908152602001600020546118cd90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061103657fe5b602090810291909101810151825281019190915260400160002055600101610e6c565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156111065781810151838201526020016110ee565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561114557818101518382015260200161112d565b5050505090500194505050505060405180910390a45050505050565b6111808573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611238578181015183820152602001611220565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561127757818101518382015260200161125f565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156112b357818101518382015260200161129b565b50505050905090810190601f1680156112e05780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561130557600080fd5b5087f1158015611319573d6000803e3d6000fd5b50505050506040513d602081101561133057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806124f5603f913960400191505060405180910390fd5b505b505050505050565b6113e38483836119f6565b600182146114e9576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691829163a9059cbb91611452918891879101611f1d565b602060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190611e54565b506114ad610d24565b6114e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b506105b7565b73ffffffffffffffffffffffffffffffffffffffff8316611536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103379061201c565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161155c90611ec8565b60006040518083038185875af1925050503d8060008114611599576040519150601f19603f3d011682016040523d82523d6000602084013e61159e565b606091505b50509050806107db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906121ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546116129082611948565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081815260408083208784528252808320949094559186168152808252828120858252909152205461166290826118cd565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6116fb8573ffffffffffffffffffffffffffffffffffffffff166119bf565b156113d05760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117b457818101518382015260200161179c565b50505050905090810190601f1680156117e15780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561180457600080fd5b5087f1158015611818573d6000803e3d6000fd5b50505050506040513d602081101561182f57600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146113ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612534603a913960400191505060405180910390fd5b60008282018381101561194157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b6000828211156119b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f801580159061194157507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054611a2f9082611948565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b600082601f830112611ab1578081fd5b8135611ac4611abf8261238e565b61236a565b818152915060208083019084810181840286018201871015611ae557600080fd5b60005b84811015611b0457813584529282019290820190600101611ae8565b505050505092915050565b600082601f830112611b1f578081fd5b813567ffffffffffffffff811115611b3357fe5b611b6460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161236a565b9150808252836020828501011115611b7b57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ba5578081fd5b8135611941816123ac565b60008060408385031215611bc2578081fd5b8235611bcd816123ac565b91506020830135611bdd816123ac565b809150509250929050565b600080600080600060a08688031215611bff578081fd5b8535611c0a816123ac565b94506020860135611c1a816123ac565b9350604086013567ffffffffffffffff80821115611c36578283fd5b611c4289838a01611aa1565b94506060880135915080821115611c57578283fd5b611c6389838a01611aa1565b93506080880135915080821115611c78578283fd5b50611c8588828901611b0f565b9150509295509295909350565b600080600060608486031215611ca6578283fd5b8335611cb1816123ac565b92506020840135611cc1816123ac565b929592945050506040919091013590565b600080600080600060a08688031215611ce9578081fd5b8535611cf4816123ac565b94506020860135611d04816123ac565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d2d578182fd5b611c8588828901611b0f565b60008060408385031215611d4b578182fd5b8235611d56816123ac565b91506020830135611bdd816123d1565b60008060408385031215611d78578182fd5b8235611d83816123ac565b946020939093013593505050565b60008060408385031215611da3578182fd5b823567ffffffffffffffff80821115611dba578384fd5b818501915085601f830112611dcd578384fd5b8135611ddb611abf8261238e565b80828252602080830192508086018a828387028901011115611dfb578889fd5b8896505b84871015611e26578035611e12816123ac565b845260019690960195928101928101611dff565b509096508701359350505080821115611e3d578283fd5b50611e4a85828601611aa1565b9150509250929050565b600060208284031215611e65578081fd5b8151611941816123d1565b600060208284031215611e81578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611941578182fd5b600060208284031215611ec1578081fd5b5035919050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611f7b57835183529284019291840191600101611f5f565b50909695505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60208082526025908201527f455243323057726170706572236465706f7369743a205452414e534645525f4660408201527f41494c4544000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260408201527f4543495049454e54000000000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60408201527f4d53475f56414c55450000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f455243323057726170706572236765744964416464726573733a20554e52454760408201527f495354455245445f544f4b454e00000000000000000000000000000000000000606082015260800190565b60208082526027908201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560408201527f43495049454e5400000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60408201527f53475f56414c5545000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4552433230577261707065722377697468647261773a205452414e534645525f60408201527f4641494c45440000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f455243323057726170706572236f6e4552433131353552656365697665643a2060408201527f494e56414c49445f455243313135355f52454345495645440000000000000000606082015260800190565b6020808252602b908201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360408201527f54455245445f544f4b454e000000000000000000000000000000000000000000606082015260800190565b6020808252603d908201527f455243323057726170706572236f6e455243313135354261746368526563656960408201527f7665643a20494e56414c49445f455243313135355f5245434549564544000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561238657fe5b604052919050565b600067ffffffffffffffff8211156123a257fe5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff811681146123ce57600080fd5b50565b80151581146123ce57600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a26469706673582212209b9a748efe94203a5aaf6008a2e2df5831d30525ad43b3dd67a99a2904877f8a64736f6c63430007040033"; diff --git a/src/gen/typechain/factories/MetaERC20Wrapper__factory.ts b/src/gen/typechain/factories/MetaERC20Wrapper__factory.ts deleted file mode 100644 index 497bba8..0000000 --- a/src/gen/typechain/factories/MetaERC20Wrapper__factory.ts +++ /dev/null @@ -1,701 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Signer, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; - -import type { MetaERC20Wrapper } from "../MetaERC20Wrapper"; - -export class MetaERC20Wrapper__factory extends ContractFactory { - constructor(signer?: Signer) { - super(_abi, _bytecode, signer); - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): MetaERC20Wrapper { - return super.attach(address) as MetaERC20Wrapper; - } - connect(signer: Signer): MetaERC20Wrapper__factory { - return super.connect(signer) as MetaERC20Wrapper__factory; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): MetaERC20Wrapper { - return new Contract(address, _abi, signerOrProvider) as MetaERC20Wrapper; - } -} - -const _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address", - }, - { - indexed: false, - internalType: "bool", - name: "_approved", - type: "bool", - }, - ], - name: "ApprovalForAll", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "signer", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "newNonce", - type: "uint256", - }, - ], - name: "NonceChange", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "token_address", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "token_id", - type: "uint256", - }, - ], - name: "TokenRegistration", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]", - }, - ], - name: "TransferBatch", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "_to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - ], - name: "TransferSingle", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address[]", - name: "_owners", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - ], - name: "balanceOfBatch", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address", - }, - { - internalType: "address", - name: "_recipient", - type: "address", - }, - { - internalType: "uint256", - name: "_value", - type: "uint256", - }, - ], - name: "deposit", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - ], - name: "getIdAddress", - outputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getNTokens", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_signer", - type: "address", - }, - ], - name: "getNonce", - outputs: [ - { - internalType: "uint256", - name: "nonce", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address", - }, - ], - name: "getTokenID", - outputs: [ - { - internalType: "uint256", - name: "tokenID", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address", - }, - { - internalType: "address", - name: "_operator", - type: "address", - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "isOperator", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_signerAddress", - type: "address", - }, - { - internalType: "bytes32", - name: "_hash", - type: "bytes32", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - { - internalType: "bytes", - name: "_sig", - type: "bytes", - }, - ], - name: "isValidSignature", - outputs: [ - { - internalType: "bool", - name: "isValid", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]", - }, - { - internalType: "bool", - name: "_isGasFee", - type: "bool", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "metaSafeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "bool", - name: "_isGasFee", - type: "bool", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "metaSafeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_owner", - type: "address", - }, - { - internalType: "address", - name: "_operator", - type: "address", - }, - { - internalType: "bool", - name: "_approved", - type: "bool", - }, - { - internalType: "bool", - name: "_isGasFee", - type: "bool", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "metaSetApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "address payable", - name: "_from", - type: "address", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "_values", - type: "uint256[]", - }, - { - internalType: "bytes", - name: "", - type: "bytes", - }, - ], - name: "onERC1155BatchReceived", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "address payable", - name: "_from", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - internalType: "uint256", - name: "_value", - type: "uint256", - }, - { - internalType: "bytes", - name: "", - type: "bytes", - }, - ], - name: "onERC1155Received", - outputs: [ - { - internalType: "bytes4", - name: "", - type: "bytes4", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "uint256[]", - name: "_ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "_amounts", - type: "uint256[]", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "safeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_from", - type: "address", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "uint256", - name: "_id", - type: "uint256", - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "safeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_operator", - type: "address", - }, - { - internalType: "bool", - name: "_approved", - type: "bool", - }, - ], - name: "setApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes4", - name: "interfaceID", - type: "bytes4", - }, - ], - name: "supportsInterface", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "pure", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_token", - type: "address", - }, - { - internalType: "address payable", - name: "_to", - type: "address", - }, - { - internalType: "uint256", - name: "_value", - type: "uint256", - }, - ], - name: "withdraw", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - stateMutability: "payable", - type: "receive", - }, -]; - -const _bytecode = - "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff000000000000000000000000000000000000000016909117905561431a8061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610391578063f5d4c820146103b1578063fa4e12d7146103d15761015a565b8063e985e9c514610351578063f23a6e61146103715761015a565b8063bc197c81116100a5578063bc197c81146102e4578063ce0b514b14610311578063d9caed12146103315761015a565b8063a22cb465146102a4578063a3d4926e146102c45761015a565b80634e1273f4116101175780637358e9a5116100fc5780637358e9a51461024f5780638340f5491461027c5780639040a9491461028f5761015a565b80634e1273f41461020257806363f8071c1461022f5761015a565b8062fdd58e1461015f57806301ffc9a7146101955780632d0335ab146101c25780632eb2c2d6146101e25761015a565b3661015a57610158600133346103f1565b005b600080fd5b34801561016b57600080fd5b5061017f61017a366004613478565b6106c4565b60405161018c9190613edc565b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004613582565b6106f7565b60405161018c9190613831565b3480156101ce57600080fd5b5061017f6101dd366004612fc5565b6107de565b3480156101ee57600080fd5b506101586101fd366004613270565b610806565b34801561020e57600080fd5b5061022261021d3660046134a3565b610911565b60405161018c91906137ed565b34801561023b57600080fd5b5061017f61024a366004612fc5565b610a5d565b34801561025b57600080fd5b5061026f61026a366004613681565b610aba565b60405161018c9190613730565b61015861028a36600461332b565b6103f1565b34801561029b57600080fd5b5061017f610b16565b3480156102b057600080fd5b506101586102bf3660046133ce565b610b1c565b3480156102d057600080fd5b506101586102df3660046131b3565b610bb5565b3480156102f057600080fd5b506103046102ff366004613062565b610d29565b60405161018c91906138b9565b34801561031d57600080fd5b5061015861032c36600461333f565b610df3565b34801561033d57600080fd5b5061015861034c36600461310c565b610ed2565b34801561035d57600080fd5b506101b561036c36600461302a565b610eeb565b34801561037d57600080fd5b5061030461038c36600461314c565b610f26565b34801561039d57600080fd5b506101586103ac3660046133b7565b610fa2565b3480156103bd57600080fd5b506101586103cc3660046132be565b6110a6565b3480156103dd57600080fd5b506101b56103ec3660046133fb565b6111d6565b73ffffffffffffffffffffffffffffffffffffffff8216610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613943565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841660011461066657341561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139fd565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906104f590339030908790600401613751565b602060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105479190613566565b506105506119b7565b610586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613a5a565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600460205260409020548061065c576003805460010190819055600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b169081179091558352600490915290819020829055519092507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f9061064f9087908590613782565b60405180910390a1610660565b8091505b506106a3565b34821461069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906138e6565b5060015b6106be838284604051806020016040528060008152506119eb565b50505050565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260208181526040808320938352929052205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061078a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107d657507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b3373ffffffffffffffffffffffffffffffffffffffff8616148061082f575061082f8533610eeb565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806141be602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166108f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061412f6030913960400191505060405180910390fd5b6108fc85858585611aa0565b61090a858585855a86611df4565b5050505050565b6060815183511461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061415f602c913960400191505060405180910390fd5b6060835167ffffffffffffffff8111801561098757600080fd5b506040519080825280602002602001820160405280156109b1578160200160208202803683370190505b50905060005b8451811015610a55576000808683815181106109cf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a1f57fe5b6020026020010151815260200190815260200160002054828281518110610a4257fe5b60209081029190910101526001016109b7565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902054806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613dc5565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff16806107d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613c51565b60035490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d0b565b6060610c0c612df6565b6060610cbf89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c604051602001610c4a9190613699565b604051602081830303815290604052805190602001208c604051602001610c719190613699565b604051602081830303815290604052805190602001208c610c93576000610c96565b60015b604051602001610cab9695949392919061383c565b604051602081830303815290604052612061565b9050610ccd89898989611aa0565b8415610d105780806020019051810190610ce7919061364c565b8094508193505050610d0189898989866020015188611df4565b610d0b8983612230565b610d1e565b610d1e898989895a86611df4565b505050505050505050565b6000333014610d64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b71565b60005b8451811015610dc757610d8c858281518110610d7f57fe5b6020026020010151610aba565b50610dbf3087878481518110610d9e57fe5b6020026020010151878581518110610db257fe5b60200260200101516124d9565b600101610d67565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613ab7565b6060610e4a612df6565b6060610e8289857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c610c93576000610c96565b9050610e90898989896126da565b8415610ec45780806020019051810190610eaa919061364c565b8094508193505050610d01898989898660200151886127dd565b610d1e898989895a866127dd565b6000610edd84610a5d565b90506106be338483856124d9565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6000333014610f61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e906139a0565b610f6a84610aba565b50610f77308686866124d9565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610fcb5750610fcb8533610eeb565b611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614029602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841661108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613fc7602b913960400191505060405180910390fd5b611098858585856126da565b61090a858585855a866127dd565b606061110286837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896110dc5760006110df565b60015b896110eb5760006110ee565b60015b604051602001610cab95949392919061387d565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b16808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168915151790555192935090917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611196908890613831565b60405180910390a382156111ce576111ac612df6565b818060200190518101906111c09190613619565b90506111cc8782612230565b505b505050505050565b600080825111611231576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260438152602001806141ed6043913960600191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851661129d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061418b6033913960400191505060405180910390fd5b60006112a8836129ce565b60f81c905060058110611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b60008160ff16600581111561131757fe5b905060008080808085600581111561132b57fe5b1415611382576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806140c26036913960400191505060405180910390fd5b600185600581111561139057fe5b14156114d35787516061146113f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b6113fb886000612a8b565b9250611408886020612a8b565b91508760408151811061141757fe5b602001015160f81c60f81b60f81c935060018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611481573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506119af9650505050505050565b60028560058111156114e157fe5b1415611631578751606114611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806140f86037913960400191505060405180910390fd5b61154c886000612a8b565b9250611559886020612a8b565b91508760408151811061156857fe5b01602090810151604080517f19457468657265756d205369676e6564204d6573736167653a0a33320000000081850152603c8082018f905282518083039091018152605c82018084528151918601919091206000909152607c82018084525260f89290921c609c830181905260bc830187905260dc8301869052905190965060019260fc8084019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611481573d6000803e3d6000fd5b600385600581111561163f57fe5b14156117f757604080517f20c13b0b000000000000000000000000000000000000000000000000000000008152600481019182528a5160448201528a5173ffffffffffffffffffffffffffffffffffffffff8e16926320c13b0b928d928d92918291602482019160640190602087019080838360005b838110156116cd5781810151838201526020016116b5565b50505050905090810190601f1680156116fa5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561172d578181015183820152602001611715565b50505050905090810190601f16801561175a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b15801561177957600080fd5b505afa15801561178d573d6000803e3d6000fd5b505050506040513d60208110156117a357600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b600485600581111561180557fe5b141561195e57604080517f1626ba7e000000000000000000000000000000000000000000000000000000008152600481018c8152602482019283528a5160448301528a5173ffffffffffffffffffffffffffffffffffffffff8f1693631626ba7e938f938e9390929160640190602085019080838360005b8381101561189557818101518382015260200161187d565b50505050905090810190601f1680156118c25780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e000000000000000000000000000000000000000000000000000000001496506119af95505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614088603a913960400191505060405180910390fd5b949350505050565b6000803d80156119ce57602081146119d7576119e3565b600191506119e3565b60206000803e60005191505b501515905090565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152902054611a249083612af3565b73ffffffffffffffffffffffffffffffffffffffff8516600081815260208181526040808320888452825280832094909455835187815290810186905283519293919233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62928290030190a46106be60008585855a866127dd565b8051825114611afa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806140536035913960400191505060405180910390fd5b815160005b81811015611cec57611b8f838281518110611b1657fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b6a57fe5b6020026020010151815260200190815260200160002054612b6e90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611bdb57fe5b6020026020010151815260200190815260200160002081905550611c7d838281518110611c0457fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611c5857fe5b6020026020010151815260200190815260200160002054612af390919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611cc957fe5b602090810291909101810151825281019190915260400160002055600101611aff565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611d99578181015183820152602001611d81565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611dd8578181015183820152602001611dc0565b5050505090500194505050505060405180910390a45050505050565b611e138573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611ecb578181015183820152602001611eb3565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611f0a578181015183820152602001611ef2565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611f46578181015183820152602001611f2e565b50505050905090810190601f168015611f735780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611f9857600080fd5b5087f1158015611fac573d6000803e3d6000fd5b50505050506040513d6020811015611fc357600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180614230603f913960400191505060405180910390fd5b6060808380602001905181019061207891906135c2565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260026020526040812054919450919250906120b0836041612a8b565b90508181108015906120c457508160640181105b6120fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e22565b60006121368683878051906020012060405160200161211b939291906136cf565b60405160208183030381529060405280519060200120612c1c565b9050606086838760405160200161214f939291906136f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825273ffffffffffffffffffffffffffffffffffffffff8c166000818152600260205292909220600187019081905590935090917fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf59916121da91613edc565b60405180910390a26121ee898383886111d6565b612224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613b14565b50505050509392505050565b600061223f82606001516129ce565b60f81c90506002811061227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613e7f565b60008160ff16600281111561228f57fe5b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff16156122c55786604001516122c7565b335b925060008560028111156122d757fe5b14156123d65786606001518060200190518101906122f59190612ffd565b909450915073ffffffffffffffffffffffffffffffffffffffff841630141561234657612324888484846126da565b6123418884845a85604051806020016040528060008152506127dd565b6123d1565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f242432a9061239e908b908790879087906004016137a8565b600060405180830381600087803b1580156123b857600080fd5b505af11580156123cc573d6000803e3d6000fd5b505050505b6124cf565b86606001518060200190518101906123ee9190612fe1565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290945073ffffffffffffffffffffffffffffffffffffffff8516906323b872dd90612447908b9087908690600401613751565b602060405180830381600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124999190613566565b6124cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613cae565b5050505050505050565b6124e4848383612d4b565b600182146125ea57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690819063a9059cbb906125539087908690600401613782565b602060405180830381600087803b15801561256d57600080fd5b505af1158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a59190613566565b506125ae6119b7565b6125e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b506106be565b73ffffffffffffffffffffffffffffffffffffffff8316612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613bf4565b60008373ffffffffffffffffffffffffffffffffffffffff168260405161265d9061372d565b60006040518083038185875af1925050503d806000811461269a576040519150601f19603f3d011682016040523d82523d6000602084013e61269f565b606091505b505090508061090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e90613d68565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208584529091529020546127139082612b6e565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260208181526040808320878452825280832094909455918616815280825282812085825290915220546127639082612af3565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260208181526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b6127fc8573ffffffffffffffffffffffffffffffffffffffff16612be5565b156111ce5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156128b557818101518382015260200161289d565b50505050905090810190601f1680156128e25780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b15801561290557600080fd5b5087f1158015612919573d6000803e3d6000fd5b50505050506040513d602081101561293057600080fd5b505190507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061426f603a913960400191505060405180910390fd5b600080825111612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180613ff26037913960400191505060405180910390fd5b81600183510381518110612a3957fe5b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b60008160200183511015612aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806142a9603c913960400191505060405180910390fd5b50016020015190565b600082820183811015612b6757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b9392505050565b600082821115612bdf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b6000813f8015801590612b6757507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b604080518082018252600281527f1901000000000000000000000000000000000000000000000000000000000000602080830191825283517f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d47498183015230818601528451808203860181526060820190955284519490910193909320825160009491928692608001918291908083835b60208310612ce957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612cac565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152902054612d849082612b6e565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604080832087845282528083209490945583518681529081018590528351919333927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629281900390910190a4505050565b60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600082601f830112612e44578081fd5b8135612e57612e5282613f09565b613ee5565b818152915060208083019084810181840286018201871015612e7857600080fd5b60005b84811015612e9757813584529282019290820190600101612e7b565b505050505092915050565b600082601f830112612eb2578081fd5b8135612ec0612e5282613f27565b9150808252836020828501011115612ed757600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112612f00578081fd5b8151612f0e612e5282613f27565b9150808252836020828501011115612f2557600080fd5b612f36816020840160208601613f67565b5092915050565b600060808284031215612f4e578081fd5b6040516080810167ffffffffffffffff8282108183111715612f6c57fe5b81604052829350845183526020850151602084015260408501519150612f9182613f93565b8160408401526060850151915080821115612fab57600080fd5b50612fb885828601612ef0565b6060830152505092915050565b600060208284031215612fd6578081fd5b8135612b6781613f93565b600060208284031215612ff2578081fd5b8151612b6781613f93565b6000806040838503121561300f578081fd5b825161301a81613f93565b6020939093015192949293505050565b6000806040838503121561303c578182fd5b823561304781613f93565b9150602083013561305781613f93565b809150509250929050565b600080600080600060a08688031215613079578081fd5b853561308481613f93565b9450602086013561309481613f93565b9350604086013567ffffffffffffffff808211156130b0578283fd5b6130bc89838a01612e34565b945060608801359150808211156130d1578283fd5b6130dd89838a01612e34565b935060808801359150808211156130f2578283fd5b506130ff88828901612ea2565b9150509295509295909350565b600080600060608486031215613120578283fd5b833561312b81613f93565b9250602084013561313b81613f93565b929592945050506040919091013590565b600080600080600060a08688031215613163578081fd5b853561316e81613f93565b9450602086013561317e81613f93565b93506040860135925060608601359150608086013567ffffffffffffffff8111156131a7578182fd5b6130ff88828901612ea2565b60008060008060008060c087890312156131cb578384fd5b86356131d681613f93565b955060208701356131e681613f93565b9450604087013567ffffffffffffffff80821115613202578586fd5b61320e8a838b01612e34565b95506060890135915080821115613223578283fd5b61322f8a838b01612e34565b94506080890135915061324182613fb8565b90925060a08801359080821115613256578283fd5b5061326389828a01612ea2565b9150509295509295509295565b600080600080600060a08688031215613287578283fd5b853561329281613f93565b945060208601356132a281613f93565b9350604086013567ffffffffffffffff808211156130b0578485fd5b600080600080600060a086880312156132d5578283fd5b85356132e081613f93565b945060208601356132f081613f93565b9350604086013561330081613fb8565b9250606086013561331081613fb8565b9150608086013567ffffffffffffffff8111156131a7578182fd5b600080600060608486031215613120578081fd5b60008060008060008060c08789031215613357578384fd5b863561336281613f93565b9550602087013561337281613f93565b94506040870135935060608701359250608087013561339081613fb8565b915060a087013567ffffffffffffffff8111156133ab578182fd5b61326389828a01612ea2565b600080600080600060a08688031215613163578283fd5b600080604083850312156133e0578182fd5b82356133eb81613f93565b9150602083013561305781613fb8565b60008060008060808587031215613410578182fd5b843561341b81613f93565b935060208501359250604085013567ffffffffffffffff8082111561343e578384fd5b61344a88838901612ea2565b9350606087013591508082111561345f578283fd5b5061346c87828801612ea2565b91505092959194509250565b6000806040838503121561348a578182fd5b823561349581613f93565b946020939093013593505050565b600080604083850312156134b5578182fd5b823567ffffffffffffffff808211156134cc578384fd5b818501915085601f8301126134df578384fd5b81356134ed612e5282613f09565b80828252602080830192508086018a82838702890101111561350d578889fd5b8896505b8487101561353857803561352481613f93565b845260019690960195928101928101613511565b50909650870135935050508082111561354f578283fd5b5061355c85828601612e34565b9150509250929050565b600060208284031215613577578081fd5b8151612b6781613fb8565b600060208284031215613593578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612b67578182fd5b600080604083850312156135d4578182fd5b825167ffffffffffffffff808211156135eb578384fd5b6135f786838701612ef0565b9350602085015191508082111561360c578283fd5b5061355c85828601612ef0565b60006020828403121561362a578081fd5b815167ffffffffffffffff811115613640578182fd5b6119af84828501612f3d565b6000806040838503121561365e578182fd5b825167ffffffffffffffff80821115613675578384fd5b6135f786838701612f3d565b600060208284031215613692578081fd5b5035919050565b815160009082906020808601845b838110156136c3578151855293820193908201906001016136a7565b50929695505050505050565b600084516136e1818460208901613f67565b91909101928352506020820152604001919050565b60008451613708818460208901613f67565b82018481528351613720816020808501908801613f67565b0160200195945050505050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020808252825182820181905260009190848201906040850190845b8181101561382557835183529284019291840191600101613809565b50909695505050505050565b901515815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529290931660408501526060840152608083019190915260a082015260c00190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6020808252602d908201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260408201527f4543545f4d53475f56414c554500000000000000000000000000000000000000606082015260800190565b6020808252602b908201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960408201527f445f524543495049454e54000000000000000000000000000000000000000000606082015260800190565b6020808252603c908201527f4d657461455243323057726170706572236f6e4552433131353552656365697660408201527f65643a20494e56414c49445f455243313135355f524543454956454400000000606082015260800190565b6020808252602c908201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560408201527f4c4c5f4d53475f56414c55450000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4d657461455243323057726170706572236465706f7369743a205452414e534660408201527f45525f4641494c45440000000000000000000000000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60408201527f3a20494e56414c49445f524543495049454e5400000000000000000000000000606082015260800190565b60208082526033908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f5349474e415455524500000000000000000000000000606082015260800190565b60208082526041908201527f4d657461455243323057726170706572236f6e4552433131353542617463685260408201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560608201527f4400000000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252602c908201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60408201527f49445f524543495049454e540000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4d657461455243323057726170706572236765744964416464726573733a205560408201527f4e524547495354455245445f544f4b454e000000000000000000000000000000606082015260800190565b60208082526032908201527f455243313135354d657461235f7472616e736665724761734665653a2045524360408201527f32305f5452414e534645525f4641494c45440000000000000000000000000000606082015260800190565b60208082526038908201527f455243313135354d657461236d6574615361666542617463685472616e73666560408201527f7246726f6d3a20494e56414c49445f524543495049454e540000000000000000606082015260800190565b6020808252602a908201527f4d6574614552433230577261707065722377697468647261773a205452414e5360408201527f4645525f4641494c454400000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260408201527f4547495354455245445f544f4b454e0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60408201527f3a20494e56414c49445f4e4f4e43450000000000000000000000000000000000606082015260800190565b6020808252602e908201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360408201527f5550504f525445445f544f4b454e000000000000000000000000000000000000606082015260800190565b90815260200190565b60405181810167ffffffffffffffff81118282101715613f0157fe5b604052919050565b600067ffffffffffffffff821115613f1d57fe5b5060209081020190565b600067ffffffffffffffff821115613f3b57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015613f82578181015183820152602001613f6a565b838111156106be5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114613fb557600080fd5b50565b8015158114613fb557600080fdfe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544c6962427974657323706f704c617374427974653a20475245415445525f5448414e5f5a45524f5f4c454e4754485f52455155495245444552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20554e535550504f525445445f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494c4c4547414c5f5349474e41545552455369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f39375f524551554952454445524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e4754485369676e617475726556616c696461746f7223697356616c69645369676e61747572653a20494e56414c49445f5349474e455245524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f525369676e617475726556616c696461746f7223697356616c69645369676e61747572653a204c454e4754485f475245415445525f5448414e5f305f524551554952454445524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147454c696242797465732372656164427974657333323a20475245415445525f4f525f455155414c5f544f5f33325f4c454e4754485f5245515549524544a2646970667358221220a4ec81b129ce0a0417cc8bb8f1b8c1105fb1a042cb2142d1808dc63ea0e3ebe864736f6c63430007040033"; diff --git a/src/gen/typechain/factories/index.ts b/src/gen/typechain/factories/index.ts new file mode 100644 index 0000000..3ed09fe --- /dev/null +++ b/src/gen/typechain/factories/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as mocks from "./mocks"; +export * as wrapper from "./wrapper"; diff --git a/src/gen/typechain/factories/IERC20Wrapper__factory.ts b/src/gen/typechain/factories/interfaces/IERC20Wrapper__factory.ts similarity index 95% rename from src/gen/typechain/factories/IERC20Wrapper__factory.ts rename to src/gen/typechain/factories/interfaces/IERC20Wrapper__factory.ts index 367f694..200ddd3 100644 --- a/src/gen/typechain/factories/IERC20Wrapper__factory.ts +++ b/src/gen/typechain/factories/interfaces/IERC20Wrapper__factory.ts @@ -2,19 +2,12 @@ /* tslint:disable */ /* eslint-disable */ -import { Contract, Signer } from "ethers"; -import { Provider } from "@ethersproject/providers"; - -import type { IERC20Wrapper } from "../IERC20Wrapper"; - -export class IERC20Wrapper__factory { - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IERC20Wrapper { - return new Contract(address, _abi, signerOrProvider) as IERC20Wrapper; - } -} +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC20Wrapper, + IERC20WrapperInterface, +} from "../../interfaces/IERC20Wrapper"; const _abi = [ { @@ -464,4 +457,17 @@ const _abi = [ stateMutability: "payable", type: "receive", }, -]; +] as const; + +export class IERC20Wrapper__factory { + static readonly abi = _abi; + static createInterface(): IERC20WrapperInterface { + return new utils.Interface(_abi) as IERC20WrapperInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC20Wrapper { + return new Contract(address, _abi, signerOrProvider) as IERC20Wrapper; + } +} diff --git a/src/gen/typechain/factories/interfaces/index.ts b/src/gen/typechain/factories/interfaces/index.ts new file mode 100644 index 0000000..e3f0ea8 --- /dev/null +++ b/src/gen/typechain/factories/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Wrapper__factory } from "./IERC20Wrapper__factory"; diff --git a/src/gen/typechain/factories/ERC20Mock__factory.ts b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts similarity index 53% rename from src/gen/typechain/factories/ERC20Mock__factory.ts rename to src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts index 2d04270..997a2fd 100644 --- a/src/gen/typechain/factories/ERC20Mock__factory.ts +++ b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts @@ -1,40 +1,13 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ - -import { Signer, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; - -import type { ERC20Mock } from "../ERC20Mock"; - -export class ERC20Mock__factory extends ContractFactory { - constructor(signer?: Signer) { - super(_abi, _bytecode, signer); - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): ERC20Mock { - return super.attach(address) as ERC20Mock; - } - connect(signer: Signer): ERC20Mock__factory { - return super.connect(signer) as ERC20Mock__factory; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ERC20Mock { - return new Contract(address, _abi, signerOrProvider) as ERC20Mock; - } -} +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + ERC20Mock, + ERC20MockInterface, +} from "../../../mocks/ERC20Mock.sol/ERC20Mock"; const _abi = [ { @@ -291,7 +264,54 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, -]; +] as const; const _bytecode = - "0x608060405234801561001057600080fd5b506107ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d7146101f9578063a9059cbb14610232578063dd62ed3e1461026b576100a3565b8063395093511461018d57806370a08231146101c6576100a3565b8063095ea7b3146100a857806318160ddd146100f557806323b872dd1461010f578063378934b414610152575b600080fd5b6100e1600480360360408110156100be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102a6565b604080519115158252519081900360200190f35b6100fd6102bc565b60408051918252519081900360200190f35b6100e16004803603606081101561012557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102c2565b61018b6004803603604081101561016857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610320565b005b6100e1600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561032e565b6100fd600480360360208110156101dc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610371565b6100e16004803603604081101561020f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610399565b6100e16004803603604081101561024857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103dc565b6100fd6004803603604081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166103e9565b60006102b3338484610421565b50600192915050565b60025490565b60006102cf8484846104d0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461031691869161031190866105c3565b610421565b5060019392505050565b61032a828261063a565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866106fd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102b391859061031190866105c3565b60006102b33384846104d0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff821661044157600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661046157600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166104f057600080fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205461052090826105c3565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220939093559084168152205461055c90826106fd565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561063457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff821661065a57600080fd5b60025461066790826106fd565b60025573ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461069a90826106fd565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101561077157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220a858dbffac5579c9704da772b70f123066342eebd5e0f925afcfcf70eec045f364736f6c63430007040033"; + "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033"; + +type ERC20MockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20MockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20Mock__factory extends ContractFactory { + constructor(...args: ERC20MockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): ERC20Mock { + return super.attach(address) as ERC20Mock; + } + override connect(signer: Signer): ERC20Mock__factory { + return super.connect(signer) as ERC20Mock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20MockInterface { + return new utils.Interface(_abi) as ERC20MockInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ERC20Mock { + return new Contract(address, _abi, signerOrProvider) as ERC20Mock; + } +} diff --git a/src/gen/typechain/factories/ERC20__factory.ts b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts similarity index 53% rename from src/gen/typechain/factories/ERC20__factory.ts rename to src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts index a86c69b..fb10019 100644 --- a/src/gen/typechain/factories/ERC20__factory.ts +++ b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts @@ -1,37 +1,10 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ - -import { Signer, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; - -import type { ERC20 } from "../ERC20"; - -export class ERC20__factory extends ContractFactory { - constructor(signer?: Signer) { - super(_abi, _bytecode, signer); - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): ERC20 { - return super.attach(address) as ERC20; - } - connect(signer: Signer): ERC20__factory { - return super.connect(signer) as ERC20__factory; - } - static connect(address: string, signerOrProvider: Signer | Provider): ERC20 { - return new Contract(address, _abi, signerOrProvider) as ERC20; - } -} +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { ERC20, ERC20Interface } from "../../../mocks/ERC20Mock.sol/ERC20"; const _abi = [ { @@ -265,7 +238,51 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, -]; +] as const; const _bytecode = - "0x608060405234801561001057600080fd5b50610687806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610170578063a457c2d7146101a3578063a9059cbb146101dc578063dd62ed3e1461021557610088565b8063095ea7b31461008d57806318160ddd146100da57806323b872dd146100f45780633950935114610137575b600080fd5b6100c6600480360360408110156100a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610250565b604080519115158252519081900360200190f35b6100e2610266565b60408051918252519081900360200190f35b6100c66004803603606081101561010a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561026c565b6100c66004803603604081101561014d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356102ca565b6100e26004803603602081101561018657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661030d565b6100c6600480360360408110156101b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610335565b6100c6600480360360408110156101f257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610378565b6100e26004803603604081101561022b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610385565b600061025d3384846103bd565b50600192915050565b60025490565b600061027984848461046c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546102c09186916102bb908661055f565b6103bd565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb90866105d6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161025d9185906102bb908661055f565b600061025d33848461046c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff82166103dd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166103fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661048c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546104bc908261055f565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546104f890826105d6565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f536166654d617468237375623a20554e444552464c4f57000000000000000000604482015290519081900360640190fd5b50900390565b60008282018381101561064a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f536166654d617468236164643a204f564552464c4f5700000000000000000000604482015290519081900360640190fd5b939250505056fea26469706673582212203c4dcfdef3f739fe1242da086388e24ba7e6944f058353c4fc15e984b4a21e2c64736f6c63430007040033"; + "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033"; + +type ERC20ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20__factory extends ContractFactory { + constructor(...args: ERC20ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): ERC20 { + return super.attach(address) as ERC20; + } + override connect(signer: Signer): ERC20__factory { + return super.connect(signer) as ERC20__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new utils.Interface(_abi) as ERC20Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): ERC20 { + return new Contract(address, _abi, signerOrProvider) as ERC20; + } +} diff --git a/src/gen/typechain/factories/mocks/ERC20Mock.sol/index.ts b/src/gen/typechain/factories/mocks/ERC20Mock.sol/index.ts new file mode 100644 index 0000000..b162970 --- /dev/null +++ b/src/gen/typechain/factories/mocks/ERC20Mock.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20__factory } from "./ERC20__factory"; +export { ERC20Mock__factory } from "./ERC20Mock__factory"; diff --git a/src/gen/adapter/commons.js b/src/gen/typechain/factories/mocks/index.ts similarity index 64% rename from src/gen/adapter/commons.js rename to src/gen/typechain/factories/mocks/index.ts index a1a4508..3cee01f 100644 --- a/src/gen/adapter/commons.js +++ b/src/gen/typechain/factories/mocks/index.ts @@ -1,5 +1,4 @@ -"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -exports.__esModule = true; +export * as erc20MockSol from "./ERC20Mock.sol"; diff --git a/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts b/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts new file mode 100644 index 0000000..555ff59 --- /dev/null +++ b/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts @@ -0,0 +1,540 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../common"; +import type { + ERC20Wrapper, + ERC20WrapperInterface, +} from "../../wrapper/ERC20Wrapper"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "_approved", + type: "bool", + }, + ], + name: "ApprovalForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token_address", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "token_id", + type: "uint256", + }, + ], + name: "TokenRegistration", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address", + }, + { + indexed: false, + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + ], + name: "TransferBatch", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "TransferSingle", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_owners", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + ], + name: "balanceOfBatch", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "getIdAddress", + outputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getNTokens", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getTokenID", + outputs: [ + { + internalType: "uint256", + name: "tokenID", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "address", + name: "_operator", + type: "address", + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "isOperator", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address payable", + name: "_from", + type: "address", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_values", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address payable", + name: "_from", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "safeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_operator", + type: "address", + }, + { + internalType: "bool", + name: "_approved", + type: "bool", + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceID", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address payable", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033"; + +type ERC20WrapperConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20WrapperConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20Wrapper__factory extends ContractFactory { + constructor(...args: ERC20WrapperConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): ERC20Wrapper { + return super.attach(address) as ERC20Wrapper; + } + override connect(signer: Signer): ERC20Wrapper__factory { + return super.connect(signer) as ERC20Wrapper__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20WrapperInterface { + return new utils.Interface(_abi) as ERC20WrapperInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ERC20Wrapper { + return new Contract(address, _abi, signerOrProvider) as ERC20Wrapper; + } +} diff --git a/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts b/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts new file mode 100644 index 0000000..f5ed402 --- /dev/null +++ b/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts @@ -0,0 +1,721 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../common"; +import type { + MetaERC20Wrapper, + MetaERC20WrapperInterface, +} from "../../wrapper/MetaERC20Wrapper"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "_approved", + type: "bool", + }, + ], + name: "ApprovalForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "signer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newNonce", + type: "uint256", + }, + ], + name: "NonceChange", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token_address", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "token_id", + type: "uint256", + }, + ], + name: "TokenRegistration", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address", + }, + { + indexed: false, + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + ], + name: "TransferBatch", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_operator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "TransferSingle", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_owners", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + ], + name: "balanceOfBatch", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "getIdAddress", + outputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getNTokens", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_signer", + type: "address", + }, + ], + name: "getNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getTokenID", + outputs: [ + { + internalType: "uint256", + name: "tokenID", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "address", + name: "_operator", + type: "address", + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "isOperator", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_signerAddress", + type: "address", + }, + { + internalType: "bytes32", + name: "_hash", + type: "bytes32", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + { + internalType: "bytes", + name: "_sig", + type: "bytes", + }, + ], + name: "isValidSignature", + outputs: [ + { + internalType: "bool", + name: "isValid", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + { + internalType: "bool", + name: "_isGasFee", + type: "bool", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "metaSafeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bool", + name: "_isGasFee", + type: "bool", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "metaSafeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "address", + name: "_operator", + type: "address", + }, + { + internalType: "bool", + name: "_approved", + type: "bool", + }, + { + internalType: "bool", + name: "_isGasFee", + type: "bool", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "metaSetApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address payable", + name: "_from", + type: "address", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_values", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address payable", + name: "_from", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "safeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_operator", + type: "address", + }, + { + internalType: "bool", + name: "_approved", + type: "bool", + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceID", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address payable", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033"; + +type MetaERC20WrapperConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MetaERC20WrapperConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MetaERC20Wrapper__factory extends ContractFactory { + constructor(...args: MetaERC20WrapperConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): MetaERC20Wrapper { + return super.attach(address) as MetaERC20Wrapper; + } + override connect(signer: Signer): MetaERC20Wrapper__factory { + return super.connect(signer) as MetaERC20Wrapper__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MetaERC20WrapperInterface { + return new utils.Interface(_abi) as MetaERC20WrapperInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MetaERC20Wrapper { + return new Contract(address, _abi, signerOrProvider) as MetaERC20Wrapper; + } +} diff --git a/src/gen/typechain/factories/wrapper/index.ts b/src/gen/typechain/factories/wrapper/index.ts new file mode 100644 index 0000000..8041b4e --- /dev/null +++ b/src/gen/typechain/factories/wrapper/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20Wrapper__factory } from "./ERC20Wrapper__factory"; +export { MetaERC20Wrapper__factory } from "./MetaERC20Wrapper__factory"; diff --git a/src/gen/typechain/index.ts b/src/gen/typechain/index.ts index a42d652..0d941b8 100644 --- a/src/gen/typechain/index.ts +++ b/src/gen/typechain/index.ts @@ -1,14 +1,20 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export type { IERC20Wrapper } from "./IERC20Wrapper"; -export type { ERC20 } from "./ERC20"; -export type { ERC20Mock } from "./ERC20Mock"; -export type { ERC20Wrapper } from "./ERC20Wrapper"; -export type { MetaERC20Wrapper } from "./MetaERC20Wrapper"; - -export { IERC20Wrapper__factory } from "./factories/IERC20Wrapper__factory"; -export { ERC20__factory } from "./factories/ERC20__factory"; -export { ERC20Mock__factory } from "./factories/ERC20Mock__factory"; -export { ERC20Wrapper__factory } from "./factories/ERC20Wrapper__factory"; -export { MetaERC20Wrapper__factory } from "./factories/MetaERC20Wrapper__factory"; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as mocks from "./mocks"; +export type { mocks }; +import type * as wrapper from "./wrapper"; +export type { wrapper }; +export * as factories from "./factories"; +export type { IERC20Wrapper } from "./interfaces/IERC20Wrapper"; +export { IERC20Wrapper__factory } from "./factories/interfaces/IERC20Wrapper__factory"; +export type { ERC20 } from "./mocks/ERC20Mock.sol/ERC20"; +export { ERC20__factory } from "./factories/mocks/ERC20Mock.sol/ERC20__factory"; +export type { ERC20Mock } from "./mocks/ERC20Mock.sol/ERC20Mock"; +export { ERC20Mock__factory } from "./factories/mocks/ERC20Mock.sol/ERC20Mock__factory"; +export type { ERC20Wrapper } from "./wrapper/ERC20Wrapper"; +export { ERC20Wrapper__factory } from "./factories/wrapper/ERC20Wrapper__factory"; +export type { MetaERC20Wrapper } from "./wrapper/MetaERC20Wrapper"; +export { MetaERC20Wrapper__factory } from "./factories/wrapper/MetaERC20Wrapper__factory"; diff --git a/src/gen/typechain/interfaces/IERC20Wrapper.ts b/src/gen/typechain/interfaces/IERC20Wrapper.ts new file mode 100644 index 0000000..d4497c7 --- /dev/null +++ b/src/gen/typechain/interfaces/IERC20Wrapper.ts @@ -0,0 +1,780 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../common"; + +export interface IERC20WrapperInterface extends utils.Interface { + functions: { + "balanceOf(address,uint256)": FunctionFragment; + "balanceOfBatch(address[],uint256[])": FunctionFragment; + "deposit(address,address,uint256)": FunctionFragment; + "getIdAddress(uint256)": FunctionFragment; + "getNTokens()": FunctionFragment; + "getTokenID(address)": FunctionFragment; + "isApprovedForAll(address,address)": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; + "setApprovalForAll(address,bool)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "withdraw(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "balanceOf" + | "balanceOfBatch" + | "deposit" + | "getIdAddress" + | "getNTokens" + | "getTokenID" + | "isApprovedForAll" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "safeBatchTransferFrom" + | "safeTransferFrom" + | "setApprovalForAll" + | "supportsInterface" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOfBatch", + values: [PromiseOrValue[], PromiseOrValue[]] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getIdAddress", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getNTokens", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getTokenID", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isApprovedForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "safeBatchTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "safeTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setApprovalForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "balanceOfBatch", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getIdAddress", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getNTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getTokenID", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isApprovedForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeBatchTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setApprovalForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "ApprovalForAll(address,address,bool)": EventFragment; + "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; + "TransferSingle(address,address,address,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; +} + +export interface ApprovalForAllEventObject { + _owner: string; + _operator: string; + _approved: boolean; +} +export type ApprovalForAllEvent = TypedEvent< + [string, string, boolean], + ApprovalForAllEventObject +>; + +export type ApprovalForAllEventFilter = TypedEventFilter; + +export interface TransferBatchEventObject { + _operator: string; + _from: string; + _to: string; + _ids: BigNumber[]; + _amounts: BigNumber[]; +} +export type TransferBatchEvent = TypedEvent< + [string, string, string, BigNumber[], BigNumber[]], + TransferBatchEventObject +>; + +export type TransferBatchEventFilter = TypedEventFilter; + +export interface TransferSingleEventObject { + _operator: string; + _from: string; + _to: string; + _id: BigNumber; + _amount: BigNumber; +} +export type TransferSingleEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber], + TransferSingleEventObject +>; + +export type TransferSingleEventFilter = TypedEventFilter; + +export interface IERC20Wrapper extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC20WrapperInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise<[BigNumber[]]>; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { token: string }>; + + getNTokens(overrides?: CallOverrides): Promise<[void]>; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { tokenID: BigNumber }>; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { isOperator: boolean }>; + + onERC1155BatchReceived( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + _interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + _interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + _interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "ApprovalForAll(address,address,bool)"( + _owner?: PromiseOrValue | null, + _operator?: PromiseOrValue | null, + _approved?: null + ): ApprovalForAllEventFilter; + ApprovalForAll( + _owner?: PromiseOrValue | null, + _operator?: PromiseOrValue | null, + _approved?: null + ): ApprovalForAllEventFilter; + + "TransferBatch(address,address,address,uint256[],uint256[])"( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _ids?: null, + _amounts?: null + ): TransferBatchEventFilter; + TransferBatch( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _ids?: null, + _amounts?: null + ): TransferBatchEventFilter; + + "TransferSingle(address,address,address,uint256,uint256)"( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _id?: null, + _amount?: null + ): TransferSingleEventFilter; + TransferSingle( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _id?: null, + _amount?: null + ): TransferSingleEventFilter; + }; + + estimateGas: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + _interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + _operator: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + _interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/gen/typechain/interfaces/index.ts b/src/gen/typechain/interfaces/index.ts new file mode 100644 index 0000000..aa6e7dd --- /dev/null +++ b/src/gen/typechain/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Wrapper } from "./IERC20Wrapper"; diff --git a/src/gen/typechain/mocks/ERC20Mock.sol/ERC20.ts b/src/gen/typechain/mocks/ERC20Mock.sol/ERC20.ts new file mode 100644 index 0000000..a4c52fa --- /dev/null +++ b/src/gen/typechain/mocks/ERC20Mock.sol/ERC20.ts @@ -0,0 +1,422 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface ERC20Interface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "decreaseAllowance" + | "increaseAllowance" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface ERC20 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/gen/typechain/mocks/ERC20Mock.sol/ERC20Mock.ts b/src/gen/typechain/mocks/ERC20Mock.sol/ERC20Mock.ts new file mode 100644 index 0000000..68143f7 --- /dev/null +++ b/src/gen/typechain/mocks/ERC20Mock.sol/ERC20Mock.ts @@ -0,0 +1,459 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface ERC20MockInterface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "mockMint(address,uint256)": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "decreaseAllowance" + | "increaseAllowance" + | "mockMint" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mockMint", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mockMint", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface ERC20Mock extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC20MockInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mockMint( + _address: PromiseOrValue, + _amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mockMint( + _address: PromiseOrValue, + _amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mockMint( + _address: PromiseOrValue, + _amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mockMint( + _address: PromiseOrValue, + _amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mockMint( + _address: PromiseOrValue, + _amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/gen/typechain/mocks/ERC20Mock.sol/index.ts b/src/gen/typechain/mocks/ERC20Mock.sol/index.ts new file mode 100644 index 0000000..1bd3d1a --- /dev/null +++ b/src/gen/typechain/mocks/ERC20Mock.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20 } from "./ERC20"; +export type { ERC20Mock } from "./ERC20Mock"; diff --git a/src/gen/typechain/mocks/index.ts b/src/gen/typechain/mocks/index.ts new file mode 100644 index 0000000..2f03465 --- /dev/null +++ b/src/gen/typechain/mocks/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20MockSol from "./ERC20Mock.sol"; +export type { erc20MockSol }; diff --git a/src/gen/typechain/wrapper/ERC20Wrapper.ts b/src/gen/typechain/wrapper/ERC20Wrapper.ts new file mode 100644 index 0000000..1045034 --- /dev/null +++ b/src/gen/typechain/wrapper/ERC20Wrapper.ts @@ -0,0 +1,803 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../common"; + +export interface ERC20WrapperInterface extends utils.Interface { + functions: { + "balanceOf(address,uint256)": FunctionFragment; + "balanceOfBatch(address[],uint256[])": FunctionFragment; + "deposit(address,address,uint256)": FunctionFragment; + "getIdAddress(uint256)": FunctionFragment; + "getNTokens()": FunctionFragment; + "getTokenID(address)": FunctionFragment; + "isApprovedForAll(address,address)": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; + "setApprovalForAll(address,bool)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "withdraw(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "balanceOf" + | "balanceOfBatch" + | "deposit" + | "getIdAddress" + | "getNTokens" + | "getTokenID" + | "isApprovedForAll" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "safeBatchTransferFrom" + | "safeTransferFrom" + | "setApprovalForAll" + | "supportsInterface" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOfBatch", + values: [PromiseOrValue[], PromiseOrValue[]] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getIdAddress", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getNTokens", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getTokenID", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isApprovedForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "safeBatchTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "safeTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setApprovalForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "balanceOfBatch", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getIdAddress", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getNTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getTokenID", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isApprovedForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeBatchTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setApprovalForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "ApprovalForAll(address,address,bool)": EventFragment; + "TokenRegistration(address,uint256)": EventFragment; + "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; + "TransferSingle(address,address,address,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TokenRegistration"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; +} + +export interface ApprovalForAllEventObject { + _owner: string; + _operator: string; + _approved: boolean; +} +export type ApprovalForAllEvent = TypedEvent< + [string, string, boolean], + ApprovalForAllEventObject +>; + +export type ApprovalForAllEventFilter = TypedEventFilter; + +export interface TokenRegistrationEventObject { + token_address: string; + token_id: BigNumber; +} +export type TokenRegistrationEvent = TypedEvent< + [string, BigNumber], + TokenRegistrationEventObject +>; + +export type TokenRegistrationEventFilter = + TypedEventFilter; + +export interface TransferBatchEventObject { + _operator: string; + _from: string; + _to: string; + _ids: BigNumber[]; + _amounts: BigNumber[]; +} +export type TransferBatchEvent = TypedEvent< + [string, string, string, BigNumber[], BigNumber[]], + TransferBatchEventObject +>; + +export type TransferBatchEventFilter = TypedEventFilter; + +export interface TransferSingleEventObject { + _operator: string; + _from: string; + _to: string; + _id: BigNumber; + _amount: BigNumber; +} +export type TransferSingleEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber], + TransferSingleEventObject +>; + +export type TransferSingleEventFilter = TypedEventFilter; + +export interface ERC20Wrapper extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC20WrapperInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise<[BigNumber[]]>; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { token: string }>; + + getNTokens(overrides?: CallOverrides): Promise<[BigNumber]>; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { tokenID: BigNumber }>; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { isOperator: boolean }>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "ApprovalForAll(address,address,bool)"( + _owner?: PromiseOrValue | null, + _operator?: PromiseOrValue | null, + _approved?: null + ): ApprovalForAllEventFilter; + ApprovalForAll( + _owner?: PromiseOrValue | null, + _operator?: PromiseOrValue | null, + _approved?: null + ): ApprovalForAllEventFilter; + + "TokenRegistration(address,uint256)"( + token_address?: null, + token_id?: null + ): TokenRegistrationEventFilter; + TokenRegistration( + token_address?: null, + token_id?: null + ): TokenRegistrationEventFilter; + + "TransferBatch(address,address,address,uint256[],uint256[])"( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _ids?: null, + _amounts?: null + ): TransferBatchEventFilter; + TransferBatch( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _ids?: null, + _amounts?: null + ): TransferBatchEventFilter; + + "TransferSingle(address,address,address,uint256,uint256)"( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _id?: null, + _amount?: null + ): TransferSingleEventFilter; + TransferSingle( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _id?: null, + _amount?: null + ): TransferSingleEventFilter; + }; + + estimateGas: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/gen/typechain/wrapper/MetaERC20Wrapper.ts b/src/gen/typechain/wrapper/MetaERC20Wrapper.ts new file mode 100644 index 0000000..1543888 --- /dev/null +++ b/src/gen/typechain/wrapper/MetaERC20Wrapper.ts @@ -0,0 +1,1107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../common"; + +export interface MetaERC20WrapperInterface extends utils.Interface { + functions: { + "balanceOf(address,uint256)": FunctionFragment; + "balanceOfBatch(address[],uint256[])": FunctionFragment; + "deposit(address,address,uint256)": FunctionFragment; + "getIdAddress(uint256)": FunctionFragment; + "getNTokens()": FunctionFragment; + "getNonce(address)": FunctionFragment; + "getTokenID(address)": FunctionFragment; + "isApprovedForAll(address,address)": FunctionFragment; + "isValidSignature(address,bytes32,bytes,bytes)": FunctionFragment; + "metaSafeBatchTransferFrom(address,address,uint256[],uint256[],bool,bytes)": FunctionFragment; + "metaSafeTransferFrom(address,address,uint256,uint256,bool,bytes)": FunctionFragment; + "metaSetApprovalForAll(address,address,bool,bool,bytes)": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; + "setApprovalForAll(address,bool)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "withdraw(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "balanceOf" + | "balanceOfBatch" + | "deposit" + | "getIdAddress" + | "getNTokens" + | "getNonce" + | "getTokenID" + | "isApprovedForAll" + | "isValidSignature" + | "metaSafeBatchTransferFrom" + | "metaSafeTransferFrom" + | "metaSetApprovalForAll" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "safeBatchTransferFrom" + | "safeTransferFrom" + | "setApprovalForAll" + | "supportsInterface" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOfBatch", + values: [PromiseOrValue[], PromiseOrValue[]] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getIdAddress", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getNTokens", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getNonce", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTokenID", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isApprovedForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isValidSignature", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "metaSafeBatchTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "metaSafeTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "metaSetApprovalForAll", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "safeBatchTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "safeTransferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setApprovalForAll", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "balanceOfBatch", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getIdAddress", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getNTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getTokenID", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isApprovedForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isValidSignature", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "metaSafeBatchTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "metaSafeTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "metaSetApprovalForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeBatchTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeTransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setApprovalForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "ApprovalForAll(address,address,bool)": EventFragment; + "NonceChange(address,uint256)": EventFragment; + "TokenRegistration(address,uint256)": EventFragment; + "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; + "TransferSingle(address,address,address,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "NonceChange"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TokenRegistration"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; +} + +export interface ApprovalForAllEventObject { + _owner: string; + _operator: string; + _approved: boolean; +} +export type ApprovalForAllEvent = TypedEvent< + [string, string, boolean], + ApprovalForAllEventObject +>; + +export type ApprovalForAllEventFilter = TypedEventFilter; + +export interface NonceChangeEventObject { + signer: string; + newNonce: BigNumber; +} +export type NonceChangeEvent = TypedEvent< + [string, BigNumber], + NonceChangeEventObject +>; + +export type NonceChangeEventFilter = TypedEventFilter; + +export interface TokenRegistrationEventObject { + token_address: string; + token_id: BigNumber; +} +export type TokenRegistrationEvent = TypedEvent< + [string, BigNumber], + TokenRegistrationEventObject +>; + +export type TokenRegistrationEventFilter = + TypedEventFilter; + +export interface TransferBatchEventObject { + _operator: string; + _from: string; + _to: string; + _ids: BigNumber[]; + _amounts: BigNumber[]; +} +export type TransferBatchEvent = TypedEvent< + [string, string, string, BigNumber[], BigNumber[]], + TransferBatchEventObject +>; + +export type TransferBatchEventFilter = TypedEventFilter; + +export interface TransferSingleEventObject { + _operator: string; + _from: string; + _to: string; + _id: BigNumber; + _amount: BigNumber; +} +export type TransferSingleEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber], + TransferSingleEventObject +>; + +export type TransferSingleEventFilter = TypedEventFilter; + +export interface MetaERC20Wrapper extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MetaERC20WrapperInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise<[BigNumber[]]>; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { token: string }>; + + getNTokens(overrides?: CallOverrides): Promise<[BigNumber]>; + + getNonce( + _signer: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { nonce: BigNumber }>; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { tokenID: BigNumber }>; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { isOperator: boolean }>; + + isValidSignature( + _signerAddress: PromiseOrValue, + _hash: PromiseOrValue, + _data: PromiseOrValue, + _sig: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { isValid: boolean }>; + + metaSafeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSafeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSetApprovalForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + _approved: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getNonce( + _signer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isValidSignature( + _signerAddress: PromiseOrValue, + _hash: PromiseOrValue, + _data: PromiseOrValue, + _sig: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + metaSafeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSafeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSetApprovalForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + _approved: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getNonce( + _signer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isValidSignature( + _signerAddress: PromiseOrValue, + _hash: PromiseOrValue, + _data: PromiseOrValue, + _sig: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + metaSafeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + metaSafeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + metaSetApprovalForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + _approved: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "ApprovalForAll(address,address,bool)"( + _owner?: PromiseOrValue | null, + _operator?: PromiseOrValue | null, + _approved?: null + ): ApprovalForAllEventFilter; + ApprovalForAll( + _owner?: PromiseOrValue | null, + _operator?: PromiseOrValue | null, + _approved?: null + ): ApprovalForAllEventFilter; + + "NonceChange(address,uint256)"( + signer?: PromiseOrValue | null, + newNonce?: null + ): NonceChangeEventFilter; + NonceChange( + signer?: PromiseOrValue | null, + newNonce?: null + ): NonceChangeEventFilter; + + "TokenRegistration(address,uint256)"( + token_address?: null, + token_id?: null + ): TokenRegistrationEventFilter; + TokenRegistration( + token_address?: null, + token_id?: null + ): TokenRegistrationEventFilter; + + "TransferBatch(address,address,address,uint256[],uint256[])"( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _ids?: null, + _amounts?: null + ): TransferBatchEventFilter; + TransferBatch( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _ids?: null, + _amounts?: null + ): TransferBatchEventFilter; + + "TransferSingle(address,address,address,uint256,uint256)"( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _id?: null, + _amount?: null + ): TransferSingleEventFilter; + TransferSingle( + _operator?: PromiseOrValue | null, + _from?: PromiseOrValue | null, + _to?: PromiseOrValue | null, + _id?: null, + _amount?: null + ): TransferSingleEventFilter; + }; + + estimateGas: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getNonce( + _signer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isValidSignature( + _signerAddress: PromiseOrValue, + _hash: PromiseOrValue, + _data: PromiseOrValue, + _sig: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + metaSafeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSafeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSetApprovalForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + _approved: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + balanceOf( + _owner: PromiseOrValue, + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOfBatch( + _owners: PromiseOrValue[], + _ids: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + deposit( + _token: PromiseOrValue, + _recipient: PromiseOrValue, + _value: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getIdAddress( + _id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getNTokens(overrides?: CallOverrides): Promise; + + getNonce( + _signer: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTokenID( + _token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isApprovedForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isValidSignature( + _signerAddress: PromiseOrValue, + _hash: PromiseOrValue, + _data: PromiseOrValue, + _sig: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + metaSafeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSafeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + metaSetApprovalForAll( + _owner: PromiseOrValue, + _operator: PromiseOrValue, + _approved: PromiseOrValue, + _isGasFee: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _ids: PromiseOrValue[], + _values: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + _from: PromiseOrValue, + _id: PromiseOrValue, + _value: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeBatchTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _ids: PromiseOrValue[], + _amounts: PromiseOrValue[], + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + safeTransferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _id: PromiseOrValue, + _amount: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setApprovalForAll( + _operator: PromiseOrValue, + _approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceID: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + _token: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/gen/typechain/wrapper/index.ts b/src/gen/typechain/wrapper/index.ts new file mode 100644 index 0000000..9be4f0c --- /dev/null +++ b/src/gen/typechain/wrapper/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20Wrapper } from "./ERC20Wrapper"; +export type { MetaERC20Wrapper } from "./MetaERC20Wrapper"; diff --git a/yarn.lock b/yarn.lock index cf03801..18da30d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -69,21 +69,6 @@ "@ethersproject/properties" ">=5.0.0-beta.131" "@ethersproject/strings" ">=5.0.0-beta.130" -"@ethersproject/abi@5.0.13", "@ethersproject/abi@^5.0.10": - version "5.0.13" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.13.tgz#600a559c3730467716595658beaa2894b4352bcc" - integrity sha512-2coOH3D7ra1lwamKEH0HVc+Jbcsw5yfeCgmY8ekhCDualEiyyovD2qDcMBBcY3+kjoLHVTmo7ost6MNClxdOrg== - dependencies: - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/hash" "^5.0.10" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" @@ -114,19 +99,6 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/abstract-provider@5.0.10", "@ethersproject/abstract-provider@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.10.tgz#a533aed39a5f27312745c8c4c40fa25fc884831c" - integrity sha512-OSReY5iz94iIaPlRvLiJP8YVIvQLx4aUvMMnHWSaA/vTU8QHZmgNlt4OBdYV1+aFY8Xl+VRYiWBHq72ZDKXXCQ== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/networks" "^5.0.7" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/transactions" "^5.0.9" - "@ethersproject/web" "^5.0.12" - "@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" @@ -153,17 +125,6 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/web" "^5.0.6" -"@ethersproject/abstract-signer@5.0.14", "@ethersproject/abstract-signer@^5.0.10": - version "5.0.14" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.14.tgz#30ef912b0f86599d90fdffc65c110452e7b55cf1" - integrity sha512-JztBwVO7o5OHLh2vyjordlS4/1EjRyaECtc8vPdXTF1i4dXN+J0coeRoPN6ZFbBvi/YbaB6br2fvqhst1VQD/g== - dependencies: - "@ethersproject/abstract-provider" "^5.0.8" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" @@ -186,17 +147,6 @@ "@ethersproject/logger" "^5.0.5" "@ethersproject/properties" "^5.0.3" -"@ethersproject/address@5.0.11", "@ethersproject/address@^5.0.9": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.11.tgz#12022e8c590c33939beb5ab18b401ecf585eac59" - integrity sha512-Et4GBdD8/tsBGjCEOKee9upN29qjL5kbRcmJifb4Penmiuh9GARXL2/xpXvEp5EW+EIW/rfCHFJrkYBgoQFQBw== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/rlp" "^5.0.7" - "@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" @@ -219,13 +169,6 @@ "@ethersproject/logger" "^5.0.5" "@ethersproject/rlp" "^5.0.3" -"@ethersproject/base64@5.0.9", "@ethersproject/base64@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.9.tgz#bb1f35d3dba92082a574d5e2418f9202a0a1a7e6" - integrity sha512-37RBz5LEZ9SlTNGiWCYFttnIN9J7qVs9Xo2EbqGqDH5LfW9EIji66S+YDMpXVo1zWDax1FkEldAoatxHK2gfgA== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" @@ -240,14 +183,6 @@ dependencies: "@ethersproject/bytes" "^5.0.4" -"@ethersproject/basex@5.0.9", "@ethersproject/basex@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.0.9.tgz#00d727a031bac563cb8bb900955206f1bf3cf1fc" - integrity sha512-FANswl1IN3PS0eltQxH2aM2+utPrkLUVG4XVFi6SafRG9EpAqXCgycxC8PU90mPGhigYTpg9cnTB5mCZ6ejQjw== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" @@ -256,15 +191,6 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.0.15", "@ethersproject/bignumber@^5.0.13": - version "5.0.15" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.15.tgz#b089b3f1e0381338d764ac1c10512f0c93b184ed" - integrity sha512-MTADqnyacvdRwtKh7o9ujwNDSM1SDJjYDMYAzjIgjoi9rh6TY4suMbhCa3i2vh3SUXiXSICyTI8ui+NPdrZ9Lw== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - bn.js "^4.4.0" - "@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" @@ -283,13 +209,6 @@ "@ethersproject/logger" "^5.0.5" bn.js "^4.4.0" -"@ethersproject/bytes@5.0.11", "@ethersproject/bytes@^5.0.9": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.11.tgz#21118e75b1d00db068984c15530e316021101276" - integrity sha512-D51plLYY5qF05AsoVQwIZVLqlBkaTPVHVP/1WmmBIWyHB0cRW0C9kh0kx5Exo51rB63Hk8PfHxc7SmpoaQFEyg== - dependencies: - "@ethersproject/logger" "^5.0.8" - "@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" @@ -304,13 +223,6 @@ dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/constants@5.0.10", "@ethersproject/constants@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.10.tgz#eb0c604fbc44c53ba9641eed31a1d0c9e1ebcadc" - integrity sha512-OSo8jxkHLDXieCy8bgOFR7lMfgPxEzKvSDdP+WAWHCDM8+orwch0B6wzkTmiQFgryAtIctrBt5glAdJikZ3hGw== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" @@ -325,21 +237,6 @@ dependencies: "@ethersproject/bignumber" "^5.0.7" -"@ethersproject/contracts@5.0.12": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.0.12.tgz#6d488db46221258399dfe80b89bf849b3afd7897" - integrity sha512-srijy31idjz8bE+gL1I6IRj2H4I9dUwfQ+QroLrIgNdGArqY8y2iFUKa3QTy+JBX26fJsdYiCQi1kKkaNpnMpQ== - dependencies: - "@ethersproject/abi" "^5.0.10" - "@ethersproject/abstract-provider" "^5.0.8" - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/contracts@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" @@ -356,20 +253,6 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@5.0.12", "@ethersproject/hash@^5.0.10": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.12.tgz#1074599f7509e2ca2bb7a3d4f4e39ab3a796da42" - integrity sha512-kn4QN+fhNFbUgX3XZTZUaQixi0oyfIEY+hfW+KtkHu+rq7dV76oAIvaLEEynu1/4npOL38E4X4YI42gGZk+C0Q== - dependencies: - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" @@ -399,24 +282,6 @@ "@ethersproject/properties" "^5.0.4" "@ethersproject/strings" "^5.0.4" -"@ethersproject/hdnode@5.0.10", "@ethersproject/hdnode@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.0.10.tgz#f7cdf154bf5d104c76dce2940745fc71d9e7eb1b" - integrity sha512-ZLwMtIcXK7xz2lSITDCl40W04CtRq4K9NwBxhCzdzPdaz6XnoJMwGz2YMVLg+8ksseq+RYtTwIIXtlK6vyvQyg== - dependencies: - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/basex" "^5.0.7" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/pbkdf2" "^5.0.7" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/sha2" "^5.0.7" - "@ethersproject/signing-key" "^5.0.8" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/transactions" "^5.0.9" - "@ethersproject/wordlists" "^5.0.8" - "@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" @@ -435,25 +300,6 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@5.0.12", "@ethersproject/json-wallets@^5.0.10": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.0.12.tgz#8946a0fcce1634b636313a50330b7d30a24996e8" - integrity sha512-nac553zGZnOewpjlqbfy7WBl8m3y7qudzRsI2dCxrediYtPIVIs9f6Pbnou8vDmmp8X4/U4W788d+Ma88o+Gbg== - dependencies: - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/address" "^5.0.9" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/hdnode" "^5.0.8" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/pbkdf2" "^5.0.7" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/random" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/transactions" "^5.0.9" - aes-js "3.0.0" - scrypt-js "3.0.1" - "@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" @@ -473,14 +319,6 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.0.9", "@ethersproject/keccak256@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.9.tgz#ca0d86e4af56c13b1ef25e533bde3e96d28f647d" - integrity sha512-zhdUTj6RGtCJSgU+bDrWF6cGbvW453LoIC1DSNWrTlXzC7WuH4a+EiPrgc7/kNoRxerKuA/cxYlI8GwNtVtDlw== - dependencies: - "@ethersproject/bytes" "^5.0.9" - js-sha3 "0.5.7" - "@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" @@ -497,11 +335,6 @@ "@ethersproject/bytes" "^5.0.4" js-sha3 "0.5.7" -"@ethersproject/logger@5.0.10", "@ethersproject/logger@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.10.tgz#fd884688b3143253e0356ef92d5f22d109d2e026" - integrity sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw== - "@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" @@ -512,13 +345,6 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.7.tgz#35c226ec6702ff1d6c4dcedd5121e54665f56e44" integrity sha512-1wl+kDTPdDptpQdrkTmImubygUf0mVeo0I/p8d21qdzT16h/GnoJWt7q6Kt0xvTfcI7Jv4kryskxI2xV++w5Hg== -"@ethersproject/networks@5.0.9", "@ethersproject/networks@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.9.tgz#ec5da11e4d4bfd69bec4eaebc9ace33eb9569279" - integrity sha512-L8+VCQwArBLGkxZb/5Ns/OH/OxP38AcaveXIxhUTq+VWpXYjrObG3E7RDQIKkUx1S1IcQl/UWTz5w4DK0UitJg== - dependencies: - "@ethersproject/logger" "^5.0.8" - "@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" @@ -533,14 +359,6 @@ dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/pbkdf2@5.0.9", "@ethersproject/pbkdf2@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.0.9.tgz#be39c7f0a66c0d3cb1ad1dbb12a78e9bcdf9b5ae" - integrity sha512-ItE/wQ/WVw/ajEHPUVgfu0aEvksPgOQc+278bke8sGKnGO3ppjmqp0MHh17tHc1EBTzJbSms5aLIqc56qZ/oiA== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/sha2" "^5.0.7" - "@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" @@ -549,13 +367,6 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@5.0.9", "@ethersproject/properties@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.9.tgz#d7aae634680760136ea522e25c3ef043ec15b5c2" - integrity sha512-ZCjzbHYTw+rF1Pn8FDCEmx3gQttwIHcm/6Xee8g/M3Ga3SfW4tccNMbs5zqnBH0E4RoOPaeNgyg1O68TaF0tlg== - dependencies: - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" @@ -570,31 +381,6 @@ dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/providers@5.0.24": - version "5.0.24" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.24.tgz#4c638a029482d052faa18364b5e0e2d3ddd9c0cb" - integrity sha512-M4Iw1r4gGJkt7ZUa++iREuviKL/DIpmIMsaUlVlXtV+ZrUXeN8xQ3zOTrbz7R4h9W9oljBZM7i4D3Kn1krJ30A== - dependencies: - "@ethersproject/abstract-provider" "^5.0.8" - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/address" "^5.0.9" - "@ethersproject/basex" "^5.0.7" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/hash" "^5.0.10" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/networks" "^5.0.7" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/random" "^5.0.7" - "@ethersproject/rlp" "^5.0.7" - "@ethersproject/sha2" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/transactions" "^5.0.9" - "@ethersproject/web" "^5.0.12" - bech32 "1.1.4" - ws "7.2.3" - "@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.2": version "5.7.2" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" @@ -621,14 +407,6 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/random@5.0.9", "@ethersproject/random@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.0.9.tgz#1903d4436ba66e4c8ac77968b16f756abea3a0d0" - integrity sha512-DANG8THsKqFbJOantrxumtG6gyETNE54VfbsWa+SQAT8WKpDo9W/X5Zhh73KuhClaey1UI32uVmISZeq/Zxn1A== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" @@ -637,14 +415,6 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.0.9", "@ethersproject/rlp@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.9.tgz#da205bf8a34d3c3409eb73ddd237130a4b376aff" - integrity sha512-ns1U7ZMVeruUW6JXc4om+1w3w4ynHN/0fpwmeNTsAjwGKoF8SAUgue6ylKpHKWSti2idx7jDxbn8hNNFHk67CA== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" @@ -661,15 +431,6 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/sha2@5.0.9", "@ethersproject/sha2@^5.0.7": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.0.9.tgz#41275ee03e6e1660b3c997754005e089e936adc6" - integrity sha512-5FH4s47gM7N1fFAYQ1+m7aX0SbLg0Xr+6tvqndmNqc382/qBIbzXiGlUookrsjlPb6gLNurnTssCXjNM72J6lQ== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - hash.js "1.1.3" - "@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" @@ -679,16 +440,6 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.0.11", "@ethersproject/signing-key@^5.0.8": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.11.tgz#19fc5c4597e18ad0a5efc6417ba5b74069fdd2af" - integrity sha512-Jfcru/BGwdkXhLxT+8WCZtFy7LL0TPFZw05FAb5asxB/MyVsEfNdNxGDtjVE9zXfmRSPe/EusXYY4K7wcygOyQ== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - elliptic "6.5.4" - "@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" @@ -711,17 +462,6 @@ "@ethersproject/properties" "^5.0.3" elliptic "6.5.3" -"@ethersproject/solidity@5.0.10": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.0.10.tgz#128c9289761cf83d81ff62a1195d6079a924a86c" - integrity sha512-8OG3HLqynWXDA6mVIHuHfF/ojTTwBahON7hc9GAKCqglzXCkVA3OpyxOJXPzjHClRIAUUiU7r9oy9Z/nsjtT/g== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/sha2" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/solidity@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" @@ -734,15 +474,6 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.0.10", "@ethersproject/strings@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.10.tgz#ddce1e9724f4ac4f3f67e0cac0b48748e964bfdb" - integrity sha512-KAeoS1tZ9/5ECXiIZA6S6hywbD0so2VmuW+Wfyo5EDXeyZ6Na1nxTPhTnW7voQmjbeYJffCrOc0qLFJeylyg7w== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" @@ -761,21 +492,6 @@ "@ethersproject/constants" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/transactions@5.0.11", "@ethersproject/transactions@^5.0.9": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.11.tgz#b31df5292f47937136a45885d6ee6112477c13df" - integrity sha512-ftsRvR9+gQp7L63F6+XmstvsZ4w8GtWvQB08e/zB+oB86Fnhq8+i/tkgpJplSHC8I/qgiCisva+M3u2GVhDFPA== - dependencies: - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/rlp" "^5.0.7" - "@ethersproject/signing-key" "^5.0.8" - "@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" @@ -806,15 +522,6 @@ "@ethersproject/rlp" "^5.0.3" "@ethersproject/signing-key" "^5.0.4" -"@ethersproject/units@5.0.11": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.0.11.tgz#f82f6e353ac0d6fa43b17337790f1f9aa72cb4c8" - integrity sha512-nOSPmcCWyB/dwoBRhhTtPGCsTbiXqmc7Q0Adwvafc432AC7hy3Fj3IFZtnSXsbtJ/GdHCIUIoA8gtvxSsFuBJg== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/units@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" @@ -824,27 +531,6 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/wallet@5.0.12": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.0.12.tgz#bfb96f95e066b4b1b4591c4615207b87afedda8b" - integrity sha512-rboJebGf47/KPZrKZQdYg9BAYuXbc/OwcUyML1K1f2jnJeo1ObWV11U1PAWTjTbhhSy6/Fg+34GO2yMb5Dt1Rw== - dependencies: - "@ethersproject/abstract-provider" "^5.0.8" - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/hash" "^5.0.10" - "@ethersproject/hdnode" "^5.0.8" - "@ethersproject/json-wallets" "^5.0.10" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/random" "^5.0.7" - "@ethersproject/signing-key" "^5.0.8" - "@ethersproject/transactions" "^5.0.9" - "@ethersproject/wordlists" "^5.0.8" - "@ethersproject/wallet@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" @@ -866,17 +552,6 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@5.0.14", "@ethersproject/web@^5.0.12": - version "5.0.14" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.14.tgz#6e7bebdd9fb967cb25ee60f44d9218dc0803bac4" - integrity sha512-QpTgplslwZ0Sp9oKNLoRuS6TKxnkwfaEk3gr7zd7XLF8XBsYejsrQO/03fNfnMx/TAT/RR6WEw/mbOwpRSeVRA== - dependencies: - "@ethersproject/base64" "^5.0.7" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" @@ -899,17 +574,6 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/wordlists@5.0.10", "@ethersproject/wordlists@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.0.10.tgz#177b9a0b4d72b9c4f304d08b36612d6c60e9b896" - integrity sha512-jWsEm1iJzpg9SCXnNfFz+tcp4Ofzv0TJb6mj+soCNcar9GcT0yGz62ZsHC3pLQWaF4LkCzGwRJHJTXKjHQfG1A== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/hash" "^5.0.10" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - "@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" @@ -932,6 +596,14 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" +"@morgan-stanley/ts-mocking-bird@^0.6.2": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz#2e4b60d42957bab3b50b67dbf14c3da2f62a39f7" + integrity sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA== + dependencies: + lodash "^4.17.16" + uuid "^7.0.3" + "@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" @@ -1410,10 +1082,13 @@ strip-indent "^2.0.0" super-split "^1.1.0" -"@typechain/ethers-v5@^6.0.3": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-6.0.3.tgz#7111864ccdb2f3b1efd27283cc2f14999b05e5f0" - integrity sha512-Ut2arLNddngPTPboSP8EYiPRGWOTCLY3Iu0BU9CAXVEsABdx+n0XE5q+0YaGkq+0zus2D++WIz0U7Z0wHT6kTA== +"@typechain/ethers-v5@^10.1.1": + version "10.2.0" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-10.2.0.tgz#68f5963efb5214cb2d881477228e4b5b315473e1" + integrity sha512-ikaq0N/w9fABM+G01OFmU3U3dNnyRwEahkdvi9mqy1a3XwKiPZaF/lu54OcNaEWnpvEYyhhS0N7buCtLQqC92w== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" "@types/async-eventemitter@^0.2.1": version "0.2.1" @@ -1507,13 +1182,6 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/mkdirp@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" - integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== - dependencies: - "@types/node" "*" - "@types/mocha@^8.2.0": version "8.2.1" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.1.tgz#f3f3ae4590c5386fc7c543aae9b78d4cf30ffee9" @@ -1566,13 +1234,6 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== -"@types/resolve@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - "@types/secp256k1@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.1.tgz#fb3aa61a1848ad97d7425ff9dcba784549fca5a4" @@ -1858,19 +1519,15 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-back@^1.0.3, array-back@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" - integrity sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs= - dependencies: - typical "^2.6.0" +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== -array-back@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022" - integrity sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw== - dependencies: - typical "^2.6.1" +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== array-flatten@1.1.1: version "1.1.1" @@ -2430,7 +2087,7 @@ chai@^4.3.4: pathval "^1.1.1" type-detect "^4.0.5" -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2657,14 +2314,25 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -command-line-args@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.7.tgz#f8d1916ecb90e9e121eda6428e41300bfb64cc46" - integrity sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA== +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== dependencies: - array-back "^2.0.0" - find-replace "^1.0.3" - typical "^2.6.1" + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" commander@2.18.0: version "2.18.0" @@ -2929,7 +2597,7 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -debug@4.3.4, debug@^4.3.3: +debug@4.3.4, debug@^4.3.1, debug@^4.3.3: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -2965,6 +2633,11 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" +deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3766,42 +3439,6 @@ ethers@^4.0.0-beta.1, ethers@^4.0.32, ethers@^4.0.40: uuid "2.0.1" xmlhttprequest "1.8.0" -ethers@^5.0.32: - version "5.0.32" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.32.tgz#f009970be31d96a589bf0ce597a39c10c7e297a6" - integrity sha512-rORfGWR0HsA4pjKMMcWZorw12DHsXqfIAuPVHJsXt+vI24jvXcVqx+rLsSvgOoLdaCMdxiN5qlIq2+4axKG31g== - dependencies: - "@ethersproject/abi" "5.0.13" - "@ethersproject/abstract-provider" "5.0.10" - "@ethersproject/abstract-signer" "5.0.14" - "@ethersproject/address" "5.0.11" - "@ethersproject/base64" "5.0.9" - "@ethersproject/basex" "5.0.9" - "@ethersproject/bignumber" "5.0.15" - "@ethersproject/bytes" "5.0.11" - "@ethersproject/constants" "5.0.10" - "@ethersproject/contracts" "5.0.12" - "@ethersproject/hash" "5.0.12" - "@ethersproject/hdnode" "5.0.10" - "@ethersproject/json-wallets" "5.0.12" - "@ethersproject/keccak256" "5.0.9" - "@ethersproject/logger" "5.0.10" - "@ethersproject/networks" "5.0.9" - "@ethersproject/pbkdf2" "5.0.9" - "@ethersproject/properties" "5.0.9" - "@ethersproject/providers" "5.0.24" - "@ethersproject/random" "5.0.9" - "@ethersproject/rlp" "5.0.9" - "@ethersproject/sha2" "5.0.9" - "@ethersproject/signing-key" "5.0.11" - "@ethersproject/solidity" "5.0.10" - "@ethersproject/strings" "5.0.10" - "@ethersproject/transactions" "5.0.11" - "@ethersproject/units" "5.0.11" - "@ethersproject/wallet" "5.0.12" - "@ethersproject/web" "5.0.14" - "@ethersproject/wordlists" "5.0.10" - ethers@^5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" @@ -4059,13 +3696,12 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-replace@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" - integrity sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A= +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== dependencies: - array-back "^1.0.4" - test-value "^2.1.0" + array-back "^3.0.1" find-up@3.0.0, find-up@^3.0.0: version "3.0.0" @@ -4377,6 +4013,18 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -4412,6 +4060,16 @@ glob@^7.0.0, glob@^7.1.2, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^9.2.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.0.tgz#be6e50d172d025c3fcf87903ae25b36b787c0bb0" + integrity sha512-EAZejC7JvnQINayvB/7BJbpZpNOJ8Lrw2OZNEvQxe0vaLn1SuwMcfV7/MNaX8L/T0wmptBFI4YMtDvSBxYDc7w== + dependencies: + fs.realpath "^1.0.0" + minimatch "^7.4.1" + minipass "^4.2.4" + path-scurry "^1.6.1" + global-modules@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -5398,6 +5056,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -5433,7 +5096,7 @@ lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17. resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.12, lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.17.12, lodash@^4.17.16, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5477,6 +5140,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + lru_map@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" @@ -5640,6 +5308,13 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^7.4.1: + version "7.4.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f" + integrity sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -5653,6 +5328,11 @@ minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^4.0.2, minipass@^4.2.4: + version "4.2.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" + integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== + minizlib@^1.2.1: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" @@ -5667,7 +5347,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*: +mkdirp@*, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -6279,6 +5959,14 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-scurry@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.1.tgz#dab45f7bb1d3f45a0e271ab258999f4ab7e23132" + integrity sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA== + dependencies: + lru-cache "^7.14.1" + minipass "^4.0.2" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -6376,10 +6064,10 @@ prettier@^1.14.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.0.tgz#8a03c7777883b29b37fb2c4348c66a78e980418b" - integrity sha512-yYerpkvseM4iKD/BXLYUkQV5aKt4tQPqaGW6EsZjzyu0r7sVZZNPJW4Y8MyKmicp6t42XUPcBVA+H6sB3gqndw== +prettier@^2.3.1: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== process-nextick-args@~2.0.0: version "2.0.1" @@ -6599,6 +6287,11 @@ recursive-readdir@^2.2.2: dependencies: minimatch "3.0.4" +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -6702,7 +6395,7 @@ resolve@1.17.0: dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.8.1: +resolve@^1.1.6: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -6759,6 +6452,13 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.0.tgz#c7a9f45bb2ec058d2e60ef9aca5167974313d605" + integrity sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ== + dependencies: + glob "^9.2.0" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -7214,6 +6914,11 @@ strict-uri-encode@^1.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + "string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -7412,6 +7117,16 @@ sync-rpc@^1.2.1: dependencies: get-port "^3.1.0" +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -7445,14 +7160,6 @@ tar@^4.0.2: safe-buffer "^5.1.2" yallist "^3.0.3" -test-value@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" - integrity sha1-Edpv9nDzRxpztiXKTz/c97t0gpE= - dependencies: - array-back "^1.0.3" - typical "^2.6.0" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -7522,31 +7229,22 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-essentials@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-1.0.4.tgz#ce3b5dade5f5d97cf69889c11bf7d2da8555b15a" - integrity sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ== +ts-command-line-args@^2.2.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.4.2.tgz#b4815b23c35f8a0159d4e69e01012d95690bc448" + integrity sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ== + dependencies: + "@morgan-stanley/ts-mocking-bird" "^0.6.2" + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" ts-essentials@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.1.tgz#d205508cae0cdadfb73c89503140cf2228389e2d" integrity sha512-8lwh3QJtIc1UWhkQtr9XuksXu3O0YQdEE5g79guDfhCaU1FWTDIEDZ1ZSx4HTHUmlJZ8L812j3BZQ4a0aOUkSA== -ts-generator@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ts-generator/-/ts-generator-0.1.1.tgz#af46f2fb88a6db1f9785977e9590e7bcd79220ab" - integrity sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ== - dependencies: - "@types/mkdirp" "^0.5.2" - "@types/prettier" "^2.1.1" - "@types/resolve" "^0.0.8" - chalk "^2.4.1" - glob "^7.1.2" - mkdirp "^0.5.1" - prettier "^2.1.2" - resolve "^1.8.1" - ts-essentials "^1.0.0" - ts-node@^9.1.1: version "9.1.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" @@ -7670,18 +7368,21 @@ type@^2.0.0: resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== -typechain@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-4.0.3.tgz#e8fcd6c984676858c64eeeb155ea783a10b73779" - integrity sha512-tmoHQeXZWHxIdeLK+i6dU0CU0vOd9Cndr3jFTZIMzak5/YpFZ8XoiYpTZcngygGBqZo+Z1EUmttLbW9KkFZLgQ== +typechain@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.1.1.tgz#9c2e8012c2c4c586536fc18402dcd7034c4ff0bd" + integrity sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ== dependencies: - command-line-args "^4.0.7" - debug "^4.1.1" + "@types/prettier" "^2.1.1" + debug "^4.3.1" fs-extra "^7.0.0" + glob "7.1.7" js-sha3 "^0.8.0" lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" ts-essentials "^7.0.1" - ts-generator "^0.1.1" typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -7695,15 +7396,20 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" - integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== +typescript@^4.8.4: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -typical@^2.6.0, typical@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" - integrity sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0= +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== uglify-js@^3.1.4: version "3.11.6" @@ -7825,6 +7531,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== + uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -8399,6 +8110,14 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + workerpool@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" @@ -8434,11 +8153,6 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" - integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== - ws@7.4.6: version "7.4.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" From 36d61db3ad4ba0a04b0f09c85965ca18ea67edfc Mon Sep 17 00:00:00 2001 From: Michael Standen Date: Wed, 15 Mar 2023 13:22:37 +1300 Subject: [PATCH 4/7] Update node version in CI --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2882999..acb2d35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 18 - uses: actions/cache@master id: yarn-cache with: @@ -30,7 +30,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 18 - uses: actions/cache@master id: yarn-cache with: @@ -48,7 +48,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 18 - uses: actions/cache@master id: yarn-cache with: @@ -66,7 +66,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 18 - uses: actions/cache@master id: yarn-cache with: @@ -84,7 +84,7 @@ jobs: # - uses: actions/checkout@v1 # - uses: actions/setup-node@v1 # with: - # node-version: 12 + # node-version: 18 # - uses: actions/cache@master # id: yarn-cache # with: From 9d24bfcd6e3114922fdbacaebf2313d41acefab7 Mon Sep 17 00:00:00 2001 From: Michael Standen Date: Thu, 16 Mar 2023 11:34:46 +1300 Subject: [PATCH 5/7] yarn test uses hardhat instead of ganache --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dc8472a..0bdda8f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "adapter": "yarn adapter:gen && yarn adapter:build", "adapter:gen": "rimraf src/gen/typechain && typechain --target ethers-v5 --out-dir src/gen/typechain './src/artifacts/contracts/**/*[^dbg].json'", "adapter:build": "rimraf src/gen/adapter && tsc ./src/gen/typechain/index.ts --outDir ./src/gen/adapter", - "test": "yarn build && yarn concurrently -k --success first 'yarn start:ganache' 'yarn test:ganache'", + "test": "yarn build && yarn test:hardhat", "test:hardhat": "hardhat test", "test:ganache": "hardhat --network ganache test", "test:gas-report": "REPORT_GAS=true yarn test", From cef68add712af4485257b6e2c1edbb7a0857055c Mon Sep 17 00:00:00 2001 From: Michael Standen Date: Wed, 15 Mar 2023 13:23:02 +1300 Subject: [PATCH 6/7] Bump package version to 4.0.0 --- src/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.json b/src/package.json index af62264..29c8357 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/erc20-meta-token", - "version": "3.2.0", + "version": "4.0.0", "description": "General ERC20 to ERC1155 Token Wrapper Contract", "repository": "https://github.com/0xsequence/erc20-meta-token", "homepage": "https://sequence.build", From df24ab15c0f4fd0f9285f6e79fe6d15ec1cfb6e2 Mon Sep 17 00:00:00 2001 From: Michael Yu <1619025+acrylix@users.noreply.github.com> Date: Thu, 16 Mar 2023 15:26:48 -0400 Subject: [PATCH 7/7] generate missing artifacts and adapters --- src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json | 4 ++-- src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json | 4 ++-- .../contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json | 4 ++-- .../wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json | 4 ++-- .../factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js | 2 +- .../adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js | 2 +- src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js | 2 +- .../adapter/factories/wrapper/MetaERC20Wrapper__factory.js | 2 +- .../factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts | 2 +- .../typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts | 2 +- src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts | 2 +- .../typechain/factories/wrapper/MetaERC20Wrapper__factory.ts | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json index c45e5ee..63cd0f2 100644 --- a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json +++ b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20.json @@ -235,8 +235,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033", + "bytecode": "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea264697066735822122079132dacc0254c5ec4e93c9844ec7ef93dc84c908dfb65f0ec42389214c7d6f464736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea264697066735822122079132dacc0254c5ec4e93c9844ec7ef93dc84c908dfb65f0ec42389214c7d6f464736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json index 6c9a03a..8e3d775 100644 --- a/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json +++ b/src/artifacts/contracts/mocks/ERC20Mock.sol/ERC20Mock.json @@ -258,8 +258,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033", + "bytecode": "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea26469706673582212204ced6c7ee2b0d3c1112cef302fab58528283d0ddc8a261585864889235e8dd0c64736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea26469706673582212204ced6c7ee2b0d3c1112cef302fab58528283d0ddc8a261585864889235e8dd0c64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json b/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json index b786530..f213668 100644 --- a/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json +++ b/src/artifacts/contracts/wrapper/ERC20Wrapper.sol/ERC20Wrapper.json @@ -481,8 +481,8 @@ "type": "receive" } ], - "bytecode": "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033", - "deployedBytecode": "0x6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033", + "bytecode": "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220fbfcc6c75862742e9d0faa511dfeaf78ac2b9ae75928eeb41187adee5c14cbf964736f6c63430008120033", + "deployedBytecode": "0x6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220fbfcc6c75862742e9d0faa511dfeaf78ac2b9ae75928eeb41187adee5c14cbf964736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json b/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json index fafff78..71ccf6e 100644 --- a/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json +++ b/src/artifacts/contracts/wrapper/MetaERC20Wrapper.sol/MetaERC20Wrapper.json @@ -662,8 +662,8 @@ "type": "receive" } ], - "bytecode": "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033", - "deployedBytecode": "0x6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033", + "bytecode": "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea264697066735822122097a346cb0d006dc0e7b6bfb430e2ea399f786f03154977e6ad79bbe0af7f8a1364736f6c63430008120033", + "deployedBytecode": "0x6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea264697066735822122097a346cb0d006dc0e7b6bfb430e2ea399f786f03154977e6ad79bbe0af7f8a1364736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js index d5340ea..f651c42 100644 --- a/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js +++ b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.js @@ -276,7 +276,7 @@ var _abi = [ type: "function" }, ]; -var _bytecode = "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033"; +var _bytecode = "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea26469706673582212204ced6c7ee2b0d3c1112cef302fab58528283d0ddc8a261585864889235e8dd0c64736f6c63430008120033"; var isSuperArgs = function (xs) { return xs.length > 1; }; var ERC20Mock__factory = /** @class */ (function (_super) { __extends(ERC20Mock__factory, _super); diff --git a/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js index 554f3d0..4a6d057 100644 --- a/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js +++ b/src/gen/adapter/factories/mocks/ERC20Mock.sol/ERC20__factory.js @@ -253,7 +253,7 @@ var _abi = [ type: "function" }, ]; -var _bytecode = "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033"; +var _bytecode = "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea264697066735822122079132dacc0254c5ec4e93c9844ec7ef93dc84c908dfb65f0ec42389214c7d6f464736f6c63430008120033"; var isSuperArgs = function (xs) { return xs.length > 1; }; var ERC20__factory = /** @class */ (function (_super) { __extends(ERC20__factory, _super); diff --git a/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js b/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js index cc01f2e..d38ee9b 100644 --- a/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js +++ b/src/gen/adapter/factories/wrapper/ERC20Wrapper__factory.js @@ -499,7 +499,7 @@ var _abi = [ type: "receive" }, ]; -var _bytecode = "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033"; +var _bytecode = "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220fbfcc6c75862742e9d0faa511dfeaf78ac2b9ae75928eeb41187adee5c14cbf964736f6c63430008120033"; var isSuperArgs = function (xs) { return xs.length > 1; }; var ERC20Wrapper__factory = /** @class */ (function (_super) { __extends(ERC20Wrapper__factory, _super); diff --git a/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js b/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js index 352d6fd..59fc3da 100644 --- a/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js +++ b/src/gen/adapter/factories/wrapper/MetaERC20Wrapper__factory.js @@ -680,7 +680,7 @@ var _abi = [ type: "receive" }, ]; -var _bytecode = "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033"; +var _bytecode = "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea264697066735822122097a346cb0d006dc0e7b6bfb430e2ea399f786f03154977e6ad79bbe0af7f8a1364736f6c63430008120033"; var isSuperArgs = function (xs) { return xs.length > 1; }; var MetaERC20Wrapper__factory = /** @class */ (function (_super) { __extends(MetaERC20Wrapper__factory, _super); diff --git a/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts index 997a2fd..1776115 100644 --- a/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts +++ b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20Mock__factory.ts @@ -267,7 +267,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea2646970667358221220da06ce83222e42f327c2a12255bc2801a8f7ba4b88a46d7bdc7cb75b89cef64964736f6c63430008120033"; + "0x608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80633950935111610076578063a457c2d71161005b578063a457c2d714610153578063a9059cbb14610166578063dd62ed3e1461017957600080fd5b8063395093511461010a57806370a082311461011d57600080fd5b8063095ea7b3146100a857806318160ddd146100d057806323b872dd146100e2578063378934b4146100f5575b600080fd5b6100bb6100b6366004610568565b6101bf565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100c7565b6100bb6100f0366004610592565b6101d6565b610108610103366004610568565b610235565b005b6100bb610118366004610568565b610243565b6100d461012b3660046105ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100bb610161366004610568565b610287565b6100bb610174366004610568565b6102cb565b6100d46101873660046105f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60006101cc3384846102d8565b5060015b92915050565b60006101e3848484610387565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602090815260408083203380855292529091205461022b918691610226908690610652565b6102d8565b5060019392505050565b61023f828261047c565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610665565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916101cc918590610226908690610652565b60006101cc338484610387565b73ffffffffffffffffffffffffffffffffffffffff82166102f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff831661031857600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff82166103a757600080fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812080548392906103dc908490610652565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610416908490610665565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037a91815260200190565b73ffffffffffffffffffffffffffffffffffffffff821661049c57600080fd5b80600260008282546104ae9190610665565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906104e8908490610665565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056357600080fd5b919050565b6000806040838503121561057b57600080fd5b6105848361053f565b946020939093013593505050565b6000806000606084860312156105a757600080fd5b6105b08461053f565b92506105be6020850161053f565b9150604084013590509250925092565b6000602082840312156105e057600080fd5b6105e98261053f565b9392505050565b6000806040838503121561060357600080fd5b61060c8361053f565b915061061a6020840161053f565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101d0576101d0610623565b808201808211156101d0576101d061062356fea26469706673582212204ced6c7ee2b0d3c1112cef302fab58528283d0ddc8a261585864889235e8dd0c64736f6c63430008120033"; type ERC20MockConstructorParams = | [signer?: Signer] diff --git a/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts index fb10019..10d49cf 100644 --- a/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts +++ b/src/gen/typechain/factories/mocks/ERC20Mock.sol/ERC20__factory.ts @@ -241,7 +241,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea2646970667358221220b7d4016ac421ea581e0af7b2771a10a31e1bd1d6f9208fd50822967186f8f12064736f6c63430008120033"; + "0x608060405234801561001057600080fd5b506105ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146100ed578063a457c2d714610123578063a9059cbb14610136578063dd62ed3e1461014957600080fd5b8063095ea7b31461008d57806318160ddd146100b557806323b872dd146100c757806339509351146100da575b600080fd5b6100a061009b366004610467565b61018f565b60405190151581526020015b60405180910390f35b6002545b6040519081526020016100ac565b6100a06100d5366004610491565b6101a6565b6100a06100e8366004610467565b610205565b6100b96100fb3660046104cd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100a0610131366004610467565b610249565b6100a0610144366004610467565b61028d565b6100b96101573660046104ef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061019c33848461029a565b5060015b92915050565b60006101b3848484610349565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338085529252909120546101fb9186916101f6908690610551565b61029a565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610564565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161019c9185906101f6908690610551565b600061019c338484610349565b73ffffffffffffffffffffffffffffffffffffffff82166102ba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166102da57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff821661036957600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120805483929061039e908490610551565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548392906103d8908490610564565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033c91815260200190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046257600080fd5b919050565b6000806040838503121561047a57600080fd5b6104838361043e565b946020939093013593505050565b6000806000606084860312156104a657600080fd5b6104af8461043e565b92506104bd6020850161043e565b9150604084013590509250925092565b6000602082840312156104df57600080fd5b6104e88261043e565b9392505050565b6000806040838503121561050257600080fd5b61050b8361043e565b91506105196020840161043e565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156101a0576101a0610522565b808201808211156101a0576101a061052256fea264697066735822122079132dacc0254c5ec4e93c9844ec7ef93dc84c908dfb65f0ec42389214c7d6f464736f6c63430008120033"; type ERC20ConstructorParams = | [signer?: Signer] diff --git a/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts b/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts index 555ff59..80280eb 100644 --- a/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts +++ b/src/gen/typechain/factories/wrapper/ERC20Wrapper__factory.ts @@ -490,7 +490,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220606683640f42bfa96f3d5fc3fc84af969ad2aba97ec13904791d018acafe5c1464736f6c63430008120033"; + "0x6080604052600160025534801561001557600080fd5b50600160008190527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c81905560046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556124678061009f6000396000f3fe6080604052600436106100e05760003560e01c80639040a9491161007f578063d9caed1211610059578063d9caed12146102a6578063e985e9c5146102c6578063f23a6e611461031c578063f242432a1461033c57600080fd5b80639040a94914610220578063a22cb46514610235578063bc197c811461025557600080fd5b80634e1273f4116100bb5780634e1273f41461017b57806363f8071c146101a85780637358e9a5146101c85780638340f5491461020d57600080fd5b8062fdd58e146100f857806301ffc9a71461012b5780632eb2c2d61461015b57600080fd5b366100f3576100f16001333461035c565b005b600080fd5b34801561010457600080fd5b50610118610113366004611cc9565b610789565b6040519081526020015b60405180910390f35b34801561013757600080fd5b5061014b610146366004611d23565b6107bf565b6040519015158152602001610122565b34801561016757600080fd5b506100f1610176366004611edb565b6108a3565b34801561018757600080fd5b5061019b610196366004611f89565b610a47565b6040516101229190612086565b3480156101b457600080fd5b506101186101c3366004612099565b610be7565b3480156101d457600080fd5b506101e86101e33660046120b6565b610ca2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b6100f161021b3660046120cf565b61035c565b34801561022c57600080fd5b50600254610118565b34801561024157600080fd5b506100f161025036600461211e565b610d54565b34801561026157600080fd5b50610275610270366004611edb565b610deb565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610122565b3480156102b257600080fd5b506100f16102c13660046120cf565b610f27565b3480156102d257600080fd5b5061014b6102e1366004612157565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561032857600080fd5b50610275610337366004612185565b610f40565b34801561034857600080fd5b506100f1610357366004612185565b611012565b73ffffffffffffffffffffffffffffffffffffffff8216610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f455243323057726170706572236465706f7369743a20494e56414c49445f524560448201527f43495049454e540000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146106d55734156104b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243323057726170706572236465706f7369743a204e4f4e5f4e554c4c5f4d60448201527f53475f56414c554500000000000000000000000000000000000000000000000060648201526084016103fb565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af115801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906121ee565b506105586111af565b6105e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243323057726170706572236465706f7369743a205452414e534645525f4660448201527f41494c454400000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040812054908190036106cb57600160026000828254610625919061223a565b9091555050600254600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600383529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16106cf565b8091505b50610768565b348214610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243323057726170706572236465706f7369743a20494e434f52524543545f60448201527f4d53475f56414c5545000000000000000000000000000000000000000000000060648201526084016103fb565b5060015b610783838284604051806020016040528060008152506111e3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061085257507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806107b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff861614806108f7575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f52000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416610a26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e540000000000000000000000000000000060648201526084016103fb565b610a328585858561128b565b610a40858585855a866114f0565b5050505050565b60608151835114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e475448000000000000000000000000000000000000000060648201526084016103fb565b6000835167ffffffffffffffff811115610af657610af6611d40565b604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8451811015610bdf57600080868381518110610b4357610b4361224d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610b9957610b9961224d565b6020026020010151815260200190815260200160002054828281518110610bc257610bc261224d565b602090810291909101015280610bd78161227c565b915050610b25565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081205490819003610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f45524332305772617070657223676574546f6b656e49443a20554e524547495360448201527f54455245445f544f4b454e00000000000000000000000000000000000000000060648201526084016103fb565b919050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610c9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243323057726170706572236765744964416464726573733a20554e52454760448201527f495354455245445f544f4b454e0000000000000000000000000000000000000060648201526084016103fb565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000333014610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f455243323057726170706572236f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f455243313135355f524543454956454400000060648201526084016103fb565b60005b8451811015610efb57610eaa858281518110610e9d57610e9d61224d565b6020026020010151610ca2565b50610ee93087878481518110610ec257610ec261224d565b6020026020010151878581518110610edc57610edc61224d565b6020026020010151611679565b80610ef38161227c565b915050610e7f565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b6000610f3284610be7565b905061078333848385611679565b6000333014610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243323057726170706572236f6e4552433131353552656365697665643a2060448201527f494e56414c49445f455243313135355f5245434549564544000000000000000060648201526084016103fb565b610fda84610ca2565b50610fe730868686611679565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611066575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f520000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084016103fb565b6111a185858585611969565b610a40858585855a86611a4d565b6000803d80156111c657602081146111cf576111db565b600191506111db565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081815260408083208684529091528120805484929061122190849061223a565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461078360008585855a86611a4d565b805182511461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e475448000000000000000000000060648201526084016103fb565b815160005b8181101561146a5782818151811061133b5761133b61224d565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106113955761139561224d565b6020026020010151815260200190815260200160002060008282546113ba91906122b4565b925050819055508281815181106113d3576113d361224d565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d5761142d61224d565b602002602001015181526020019081526020016000206000828254611452919061223a565b909155508190506114628161227c565b915050611321565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114e19291906122c7565b60405180910390a45050505050565b61150f8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401611558959493929190612359565b60206040518083038160008887f1158015611577573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061159c91906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d4553534147450060648201526084016103fb565b505b505050505050565b611684848383611c06565b600182146117d6576000828152600460208190526040918290205491517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681169282019290925260248101849052911690819063a9059cbb906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b91906121ee565b506117446111af565b6117d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b50610783565b73ffffffffffffffffffffffffffffffffffffffff8316611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4552433230577261707065722377697468647261773a20494e56414c49445f5260448201527f4543495049454e5400000000000000000000000000000000000000000000000060648201526084016103fb565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5050905080610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4552433230577261707065722377697468647261773a205452414e534645525f60448201527f4641494c4544000000000000000000000000000000000000000000000000000060648201526084016103fb565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320858452909152812080548392906119a79084906122b4565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320858452909152812080548392906119ea90849061223a565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b611a6c8573ffffffffffffffffffffffffffffffffffffffff16611bcc565b156116715760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401611ab59594939291906123e1565b60206040518083038160008887f1158015611ad4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611af991906123c4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001461166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d45535341474500000000000060648201526084016103fb565b6000813f8015801590611bff57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611c449084906122b4565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc657600080fd5b50565b60008060408385031215611cdc57600080fd5b8235611ce781611ca4565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611cc657600080fd5b600060208284031215611d3557600080fd5b8135611bff81611cf5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611db657611db6611d40565b604052919050565b600067ffffffffffffffff821115611dd857611dd8611d40565b5060051b60200190565b600082601f830112611df357600080fd5b81356020611e08611e0383611dbe565b611d6f565b82815260059290921b84018101918181019086841115611e2757600080fd5b8286015b84811015611e425780358352918301918301611e2b565b509695505050505050565b600082601f830112611e5e57600080fd5b813567ffffffffffffffff811115611e7857611e78611d40565b611ea960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d6f565b818152846020838601011115611ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ef357600080fd5b8535611efe81611ca4565b94506020860135611f0e81611ca4565b9350604086013567ffffffffffffffff80821115611f2b57600080fd5b611f3789838a01611de2565b94506060880135915080821115611f4d57600080fd5b611f5989838a01611de2565b93506080880135915080821115611f6f57600080fd5b50611f7c88828901611e4d565b9150509295509295909350565b60008060408385031215611f9c57600080fd5b823567ffffffffffffffff80821115611fb457600080fd5b818501915085601f830112611fc857600080fd5b81356020611fd8611e0383611dbe565b82815260059290921b84018101918181019089841115611ff757600080fd5b948201945b8386101561201e57853561200f81611ca4565b82529482019490820190611ffc565b9650508601359250508082111561203457600080fd5b5061204185828601611de2565b9150509250929050565b600081518084526020808501945080840160005b8381101561207b5781518752958201959082019060010161205f565b509495945050505050565b602081526000611bff602083018461204b565b6000602082840312156120ab57600080fd5b8135611bff81611ca4565b6000602082840312156120c857600080fd5b5035919050565b6000806000606084860312156120e457600080fd5b83356120ef81611ca4565b925060208401356120ff81611ca4565b929592945050506040919091013590565b8015158114611cc657600080fd5b6000806040838503121561213157600080fd5b823561213c81611ca4565b9150602083013561214c81612110565b809150509250929050565b6000806040838503121561216a57600080fd5b823561217581611ca4565b9150602083013561214c81611ca4565b600080600080600060a0868803121561219d57600080fd5b85356121a881611ca4565b945060208601356121b881611ca4565b93506040860135925060608601359150608086013567ffffffffffffffff8111156121e257600080fd5b611f7c88828901611e4d565b60006020828403121561220057600080fd5b8151611bff81612110565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107b9576107b961220b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122ad576122ad61220b565b5060010190565b818103818111156107b9576107b961220b565b6040815260006122da604083018561204b565b82810360208401526122ec818561204b565b95945050505050565b6000815180845260005b8181101561231b576020818501810151868301820152016122ff565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261239260a083018661204b565b82810360608401526123a4818661204b565b905082810360808401526123b881856122f5565b98975050505050505050565b6000602082840312156123d657600080fd5b8151611bff81611cf5565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261242660a08301846122f5565b97965050505050505056fea2646970667358221220fbfcc6c75862742e9d0faa511dfeaf78ac2b9ae75928eeb41187adee5c14cbf964736f6c63430008120033"; type ERC20WrapperConstructorParams = | [signer?: Signer] diff --git a/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts b/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts index f5ed402..941e073 100644 --- a/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts +++ b/src/gen/typechain/factories/wrapper/MetaERC20Wrapper__factory.ts @@ -671,7 +671,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea2646970667358221220cbcdf5969bca4efcf12fa13535a8d7fe6fc92e474c4d93868de313f312b6974864736f6c63430008120033"; + "0x6080604052600160035534801561001557600080fd5b50600160008190527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581905560056020527f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790556140998061009f6000396000f3fe6080604052600436106101475760003560e01c8063a22cb465116100c0578063e985e9c511610074578063f242432a11610059578063f242432a14610426578063f5d4c82014610446578063fa4e12d71461046657600080fd5b8063e985e9c5146103b0578063f23a6e611461040657600080fd5b8063bc197c81116100a5578063bc197c811461031f578063ce0b514b14610370578063d9caed121461039057600080fd5b8063a22cb465146102df578063a3d4926e146102ff57600080fd5b80634e1273f4116101175780637358e9a5116100fc5780637358e9a5146102725780638340f549146102b75780639040a949146102ca57600080fd5b80634e1273f41461022557806363f8071c1461025257600080fd5b8062fdd58e1461015f57806301ffc9a7146101925780632d0335ab146101c25780632eb2c2d61461020557600080fd5b3661015a5761015860013334610486565b005b600080fd5b34801561016b57600080fd5b5061017f61017a3660046133d8565b6108b3565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506101b26101ad366004613432565b6108e9565b6040519015158152602001610189565b3480156101ce57600080fd5b5061017f6101dd36600461344f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b34801561021157600080fd5b50610158610220366004613610565b6109cd565b34801561023157600080fd5b506102456102403660046136be565b610b71565b60405161018991906137bb565b34801561025e57600080fd5b5061017f61026d36600461344f565b610d11565b34801561027e57600080fd5b5061029261028d3660046137ce565b610dcc565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610189565b6101586102c53660046137e7565b610486565b3480156102d657600080fd5b5060035461017f565b3480156102eb57600080fd5b506101586102fa366004613836565b610e7e565b34801561030b57600080fd5b5061015861031a36600461386f565b610f15565b34801561032b57600080fd5b5061033f61033a366004613610565b611147565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610189565b34801561037c57600080fd5b5061015861038b366004613930565b6112a9565b34801561039c57600080fd5b506101586103ab3660046137e7565b611417565b3480156103bc57600080fd5b506101b26103cb3660046139aa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561041257600080fd5b5061033f6104213660046139d8565b611430565b34801561043257600080fd5b506101586104413660046139d8565b611502565b34801561045257600080fd5b50610158610461366004613a41565b61169f565b34801561047257600080fd5b506101b2610481366004613ab0565b6117f6565b73ffffffffffffffffffffffffffffffffffffffff821661052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4d657461455243323057726170706572236465706f7369743a20494e56414c4960448201527f445f524543495049454e5400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff84166001146107ff5734156105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d657461455243323057726170706572236465706f7369743a204e4f4e5f4e5560448201527f4c4c5f4d53475f56414c554500000000000000000000000000000000000000006064820152608401610525565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8516906323b872dd906064016020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190613b30565b5061068261203f565b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d657461455243323057726170706572236465706f7369743a205452414e534660448201527f45525f4641494c454400000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260046020526040812054908190036107f55760016003600082825461074f9190613b7c565b9091555050600354600081815260056020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b16908117909155808452600483529281902084905580519283529082018390529193507ff977d54986414fc91816901629d1d788ad95448ab4198dcb9b6dc5ed2b930c1f910160405180910390a16107f9565b8091505b50610892565b34821461088e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d657461455243323057726170706572236465706f7369743a20494e434f525260448201527f4543545f4d53475f56414c5545000000000000000000000000000000000000006064820152608401610525565b5060015b6108ad83828460405180602001604052806000815250612073565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081815260408083208484529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061097c57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000145b806108e357507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001492915050565b3373ffffffffffffffffffffffffffffffffffffffff86161480610a21575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f4f50455241544f5200000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f45524331313535237361666542617463685472616e7366657246726f6d3a204960448201527f4e56414c49445f524543495049454e54000000000000000000000000000000006064820152608401610525565b610b5c8585858561211b565b610b6a858585855a86612380565b5050505050565b60608151835114610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243313135352362616c616e63654f6642617463683a20494e56414c49445f60448201527f41525241595f4c454e47544800000000000000000000000000000000000000006064820152608401610525565b6000835167ffffffffffffffff811115610c2057610c2061346c565b604051908082528060200260200182016040528015610c49578160200160208202803683370190505b50905060005b8451811015610d0957600080868381518110610c6d57610c6d613b8f565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610cc357610cc3613b8f565b6020026020010151815260200190815260200160002054828281518110610cec57610cec613b8f565b602090810291909101015280610d0181613bbe565b915050610c4f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081205490819003610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4d65746145524332305772617070657223676574546f6b656e49443a20554e5260448201527f4547495354455245445f544f4b454e00000000000000000000000000000000006064820152608401610525565b919050565b60008181526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610dc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d657461455243323057726170706572236765744964416464726573733a205560448201527f4e524547495354455245445f544f4b454e0000000000000000000000000000006064820152608401610525565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8516610fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f455243313135354d657461236d6574615361666542617463685472616e73666560448201527f7246726f6d3a20494e56414c49445f524543495049454e5400000000000000006064820152608401610525565b6060610ffb60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006110dd89857fa3d4926e8cf8fe8e020cd29f514c256bc2eec62aa2337e415f1a33a4828af5a060001b8c8c8c6040516020016110399190613bf6565b604051602081830303815290604052805190602001208c6040516020016110609190613bf6565b604051602081830303815290604052805190602001208c611082576000611085565b60015b60408051602081019790975273ffffffffffffffffffffffffffffffffffffffff95861690870152939092166060850152608084015260a083015260c082015260e0015b6040516020818303038152906040526124ff565b90506110eb8989898961211b565b841561112e57808060200190518101906111059190613d24565b809450819350505061111f89898989866020015188612380565b611129898361278f565b61113c565b61113c898989895a86612380565b505050505050505050565b60003330146111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4d657461455243323057726170706572236f6e4552433131353542617463685260448201527f656365697665643a20494e56414c49445f455243313135355f5245434549564560648201527f4400000000000000000000000000000000000000000000000000000000000000608482015260a401610525565b60005b845181101561127d5761122c85828151811061121f5761121f613b8f565b6020026020010151610dcc565b5061126b308787848151811061124457611244613b8f565b602002602001015187858151811061125e5761125e613b8f565b6020026020010151612b02565b8061127581613bbe565b915050611201565b507fbc197c81000000000000000000000000000000000000000000000000000000009695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661134c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461236d657461536166655472616e7366657246726f6d60448201527f3a20494e56414c49445f524543495049454e54000000000000000000000000006064820152608401610525565b606061138f60405180608001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60006113c789857fce0b514b3931bdbe4d5d44e4f035afe7113767b7db71949271f6a62d9c60f558828c8c8c8c611082576000611085565b90506113d589898989612def565b841561140957808060200190518101906113ef9190613d24565b809450819350505061111f89898989866020015188612ed3565b61113c898989895a86612ed3565b600061142284610d11565b90506108ad33848385612b02565b60003330146114c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4d657461455243323057726170706572236f6e4552433131353552656365697660448201527f65643a20494e56414c49445f455243313135355f5245434549564544000000006064820152608401610525565b6114ca84610dcc565b506114d730868686612b02565b507ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff86161480611556575073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832033845290915290205460ff165b6115e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f4f50455241544f52000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff8416611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4552433131353523736166655472616e7366657246726f6d3a20494e56414c4960448201527f445f524543495049454e540000000000000000000000000000000000000000006064820152608401610525565b61169185858585612def565b610b6a858585855a86612ed3565b600061172a86837ff5d4c820494c8595de274c7ff619bead38aac4fbc3d143b5bf956aa4b84fa5248289896116d55760006116d8565b60015b896116e45760006116e7565b60015b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0016110c9565b73ffffffffffffffffffffffffffffffffffffffff8781166000818152600160209081526040808320948b168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168a15159081179091559151918252939450919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a382156117ee576000818060200190518101906117e09190613d7e565b90506117ec878261278f565b505b505050505050565b6000808251116118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f475245415445525f5448414e5f305f524551554960648201527f5245440000000000000000000000000000000000000000000000000000000000608482015260a401610525565b73ffffffffffffffffffffffffffffffffffffffff8516611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494e56414c49445f5349474e4552000000000000000000000000006064820152608401610525565b600061195c83613052565b60f81c9050600581106119f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b60008160ff166005811115611a0857611a08613db3565b9050600080808080856005811115611a2257611a22613db3565b03611aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20494c4c4547414c5f5349474e4154555245000000000000000000006064820152608401610525565b6001856005811115611ac357611ac3613db3565b03611c35578751606114611b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611b64886000613155565b9250611b71886020613155565b915087604081518110611b8657611b86613b8f565b0160209081015160408051600081529283018082528d905260f89190911c9082018190526060820185905260808201849052945060019060a0015b6020604051602081039080840390855afa158015611be3573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8d811691161497506120379650505050505050565b6002856005811115611c4957611c49613db3565b03611daf578751606114611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a204c454e4754485f39375f52455155495245440000000000000000006064820152608401610525565b611cea886000613155565b9250611cf7886020613155565b915087604081518110611d0c57611d0c613b8f565b016020908101516040517f19457468657265756d205369676e6564204d6573736167653a0a33320000000092810192909252603c82018c905260f81c9450600190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a001611bc1565b6003856005811115611dc357611dc3613db3565b03611eaf576040517f20c13b0b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c16906320c13b0b90611e1c908c908c90600401613e2c565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f20c13b0b0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6004856005811115611ec357611ec3613db3565b03611faf576040517f1626ba7e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c1690631626ba7e90611f1c908d908c90600401613e77565b602060405180830381865afa158015611f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5d9190613e5a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014965061203795505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5369676e617475726556616c696461746f7223697356616c69645369676e617460448201527f7572653a20554e535550504f525445445f5349474e41545552450000000000006064820152608401610525565b949350505050565b6000803d8015612056576020811461205f5761206b565b6001915061206b565b60206000803e60005191505b501515919050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906120b1908490613b7c565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ad60008585855a86612ed3565b80518251146121ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f45524331313535235f7361666542617463685472616e7366657246726f6d3a2060448201527f494e56414c49445f4152524159535f4c454e47544800000000000000000000006064820152608401610525565b815160005b818110156122fa578281815181106121cb576121cb613b8f565b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061222557612225613b8f565b60200260200101518152602001908152602001600020600082825461224a9190613e90565b9250508190555082818151811061226357612263613b8f565b60200260200101516000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106122bd576122bd613b8f565b6020026020010151815260200190815260200160002060008282546122e29190613b7c565b909155508190506122f281613bbe565b9150506121b1565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612371929190613ea3565b60405180910390a45050505050565b61239f8573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b81526004016123e8959493929190613ec8565b60206040518083038160008887f1158015612407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061242c9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c8100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f45524331313535235f63616c6c6f6e455243313135354261746368526563656960448201527f7665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745006064820152608401610525565b606080838060200190518101906125169190613f33565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600260205260408120549194509192509061254e836041613155565b90508181108015906125695750612566826064613b7c565b81105b6125f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f4e4f4e434500000000000000000000000000000000006064820152608401610525565b60006126318683878051906020012060405160200161261693929190613f6a565b60405160208183030381529060405280519060200120613242565b9050600086838760405160200161264a93929190613f91565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050612685836001613b7c565b73ffffffffffffffffffffffffffffffffffffffff8a166000818152600260205260409020919091557fb861b7bdbe611a846ab271b8d2810391bc8b5a968f390c322438ecab66bccf596126da856001613b7c565b60405190815260200160405180910390a26126f7898383886117f6565b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f455243313135354d657461235f7369676e617475726556616c69646174696f6e60448201527f3a20494e56414c49445f5349474e4154555245000000000000000000000000006064820152608401610525565b50505050509392505050565b600061279e8260600151613052565b60f81c905060028110612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f455243313135354d657461235f7472616e736665724761734665653a20554e5360448201527f5550504f525445445f544f4b454e0000000000000000000000000000000000006064820152608401610525565b60008160ff16600281111561284a5761284a613db3565b835160408501519192506000918291829173ffffffffffffffffffffffffffffffffffffffff1615612880578660400151612882565b335b9250600085600281111561289857612898613db3565b036129af5786606001518060200190518101906128b59190613fc8565b90945091503073ffffffffffffffffffffffffffffffffffffffff851603612905576128e388848484612def565b6129008884845a8560405180602001604052806000815250612ed3565b612af8565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b15801561299257600080fd5b505af11580156129a6573d6000803e3d6000fd5b50505050612af8565b86606001518060200190518101906129c79190613ff6565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152858116602483015260448201849052919550908516906323b872dd906064016020604051808303816000875af1158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190613b30565b612af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135354d657461235f7472616e736665724761734665653a2045524360448201527f32305f5452414e534645525f4641494c454400000000000000000000000000006064820152608401610525565b5050505050505050565b612b0d848383613315565b60018214612c5c57600082815260056020526040908190205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820184905290911690819063a9059cbb906044016020604051808303816000875af1158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bc19190613b30565b50612bca61203f565b612c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b506108ad565b73ffffffffffffffffffffffffffffffffffffffff8316612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4d6574614552433230577261707065722377697468647261773a20494e56414c60448201527f49445f524543495049454e5400000000000000000000000000000000000000006064820152608401610525565b60008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612d59576040519150601f19603f3d011682016040523d82523d6000602084013e612d5e565b606091505b5050905080610b6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4d6574614552433230577261707065722377697468647261773a205452414e5360448201527f4645525f4641494c4544000000000000000000000000000000000000000000006064820152608401610525565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020818152604080832085845290915281208054839290612e2d908490613e90565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290612e70908490613b7c565b9091555050604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff808616929087169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b612ef28573ffffffffffffffffffffffffffffffffffffffff16613208565b156117ee5760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401612f3b959493929190614013565b60206040518083038160008887f1158015612f5a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f7f9190613e5a565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e6100000000000000000000000000000000000000000000000000000000146117ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f45524331313535235f63616c6c6f6e4552433131353552656365697665643a2060448201527f494e56414c49445f4f4e5f524543454956455f4d4553534147450000000000006064820152608401610525565b6000808251116130e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c6962427974657323706f704c617374427974653a20475245415445525f544860448201527f414e5f5a45524f5f4c454e4754485f52455155495245440000000000000000006064820152608401610525565b81600183516130f39190613e90565b8151811061310357613103613b8f565b016020015182517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909252507fff000000000000000000000000000000000000000000000000000000000000001690565b6000613162826020613b7c565b835110156131f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f4c696242797465732372656164427974657333323a20475245415445525f4f5260448201527f5f455155414c5f544f5f33325f4c454e4754485f5245515549524544000000006064820152608401610525565b6131fd602083613b7c565b929092015192915050565b6000813f801580159061323b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152507f035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d474960001b306040516020016132cf92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405160208183030381529060405280519060200120836040516020016132f893929190613f6a565b604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290613353908490613e90565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b73ffffffffffffffffffffffffffffffffffffffff811681146133d557600080fd5b50565b600080604083850312156133eb57600080fd5b82356133f6816133b3565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146133d557600080fd5b60006020828403121561344457600080fd5b813561323b81613404565b60006020828403121561346157600080fd5b813561323b816133b3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134e2576134e261346c565b604052919050565b600067ffffffffffffffff8211156135045761350461346c565b5060051b60200190565b600082601f83011261351f57600080fd5b8135602061353461352f836134ea565b61349b565b82815260059290921b8401810191818101908684111561355357600080fd5b8286015b8481101561356e5780358352918301918301613557565b509695505050505050565b600067ffffffffffffffff8211156135935761359361346c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126135d057600080fd5b81356135de61352f82613579565b8181528460208386010111156135f357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561362857600080fd5b8535613633816133b3565b94506020860135613643816133b3565b9350604086013567ffffffffffffffff8082111561366057600080fd5b61366c89838a0161350e565b9450606088013591508082111561368257600080fd5b61368e89838a0161350e565b935060808801359150808211156136a457600080fd5b506136b1888289016135bf565b9150509295509295909350565b600080604083850312156136d157600080fd5b823567ffffffffffffffff808211156136e957600080fd5b818501915085601f8301126136fd57600080fd5b8135602061370d61352f836134ea565b82815260059290921b8401810191818101908984111561372c57600080fd5b948201945b83861015613753578535613744816133b3565b82529482019490820190613731565b9650508601359250508082111561376957600080fd5b506137768582860161350e565b9150509250929050565b600081518084526020808501945080840160005b838110156137b057815187529582019590820190600101613794565b509495945050505050565b60208152600061323b6020830184613780565b6000602082840312156137e057600080fd5b5035919050565b6000806000606084860312156137fc57600080fd5b8335613807816133b3565b92506020840135613817816133b3565b929592945050506040919091013590565b80151581146133d557600080fd5b6000806040838503121561384957600080fd5b8235613854816133b3565b9150602083013561386481613828565b809150509250929050565b60008060008060008060c0878903121561388857600080fd5b8635613893816133b3565b955060208701356138a3816133b3565b9450604087013567ffffffffffffffff808211156138c057600080fd5b6138cc8a838b0161350e565b955060608901359150808211156138e257600080fd5b6138ee8a838b0161350e565b94506080890135915061390082613828565b90925060a0880135908082111561391657600080fd5b5061392389828a016135bf565b9150509295509295509295565b60008060008060008060c0878903121561394957600080fd5b8635613954816133b3565b95506020870135613964816133b3565b94506040870135935060608701359250608087013561398281613828565b915060a087013567ffffffffffffffff81111561399e57600080fd5b61392389828a016135bf565b600080604083850312156139bd57600080fd5b82356139c8816133b3565b91506020830135613864816133b3565b600080600080600060a086880312156139f057600080fd5b85356139fb816133b3565b94506020860135613a0b816133b3565b93506040860135925060608601359150608086013567ffffffffffffffff811115613a3557600080fd5b6136b1888289016135bf565b600080600080600060a08688031215613a5957600080fd5b8535613a64816133b3565b94506020860135613a74816133b3565b93506040860135613a8481613828565b92506060860135613a9481613828565b9150608086013567ffffffffffffffff811115613a3557600080fd5b60008060008060808587031215613ac657600080fd5b8435613ad1816133b3565b935060208501359250604085013567ffffffffffffffff80821115613af557600080fd5b613b01888389016135bf565b93506060870135915080821115613b1757600080fd5b50613b24878288016135bf565b91505092959194509250565b600060208284031215613b4257600080fd5b815161323b81613828565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156108e3576108e3613b4d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bef57613bef613b4d565b5060010190565b815160009082906020808601845b83811015613c2057815185529382019390820190600101613c04565b50929695505050505050565b60005b83811015613c47578181015183820152602001613c2f565b50506000910152565b600082601f830112613c6157600080fd5b8151613c6f61352f82613579565b818152846020838601011115613c8457600080fd5b612037826020830160208701613c2c565b600060808284031215613ca757600080fd5b6040516080810167ffffffffffffffff8282108183111715613ccb57613ccb61346c565b81604052829350845183526020850151602084015260408501519150613cf0826133b3565b8160408401526060850151915080821115613d0a57600080fd5b50613d1785828601613c50565b6060830152505092915050565b60008060408385031215613d3757600080fd5b825167ffffffffffffffff80821115613d4f57600080fd5b613d5b86838701613c95565b93506020850151915080821115613d7157600080fd5b5061377685828601613c50565b600060208284031215613d9057600080fd5b815167ffffffffffffffff811115613da757600080fd5b61203784828501613c95565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008151808452613dfa816020860160208601613c2c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613e3f6040830185613de2565b8281036020840152613e518185613de2565b95945050505050565b600060208284031215613e6c57600080fd5b815161323b81613404565b8281526040602082015260006120376040830184613de2565b818103818111156108e3576108e3613b4d565b604081526000613eb66040830185613780565b8281036020840152613e518185613780565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f0160a0830186613780565b8281036060840152613f138186613780565b90508281036080840152613f278185613de2565b98975050505050505050565b60008060408385031215613f4657600080fd5b825167ffffffffffffffff80821115613f5e57600080fd5b613d5b86838701613c50565b60008451613f7c818460208901613c2c565b91909101928352506020820152604001919050565b60008451613fa3818460208901613c2c565b82018481528351613fbb816020808501908801613c2c565b0160200195945050505050565b60008060408385031215613fdb57600080fd5b8251613fe6816133b3565b6020939093015192949293505050565b60006020828403121561400857600080fd5b815161323b816133b3565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261405860a0830184613de2565b97965050505050505056fea264697066735822122097a346cb0d006dc0e7b6bfb430e2ea399f786f03154977e6ad79bbe0af7f8a1364736f6c63430008120033"; type MetaERC20WrapperConstructorParams = | [signer?: Signer]